Python之路day03-進制轉換_字符串切片_strip_replace_split

前言時刻

又是很水的一上午,不過也學習到了一些新知識,好比st.isnum、st.isalpha等等html

來來總結一波:python

今天講的有:進制轉換、str字符串函數的用法:切片、replace、split、isalpha、strip、count、join。面試

差很少就這些了,學就完事了,總結那是必須的。函數

一、進制轉換

經常使用的就是10進制、2進制(binary)、8進制(octonary)、16進制(hexadecimal),他們以前的轉換是須要掌握的。學習

1.一、10進制向二、八、16進制轉換

主要就是這三個內置函數:bin、oct、hex,其分別是2進制、8進制、16進制的英文縮寫,具體可看上面。code

一、進制轉換


tmp = 5
htm

10進制轉2進制

print(bin(tmp))    # 0b101
ip

10進制轉8進制

print(oct(tmp))    # 0o5
ci

10進制轉16進制

print(hex(tmp))   # 0x5
字符串

返回數的二進制有效位數

print(tmp.bit_length())    # 3 對應二進制:0b101正好是3位

1.二、2/8/16進制向10進制轉換

主要用到 int(str, num) 函數進行互轉,具體用法見下方。

2/8/16進制向10進制轉換

一、2進制轉10進制

print(int("0b101", 2))   # 5

二、8進制轉10進制

print(int("0o17", 8))    # 15

三、16進制轉10進制

print(int("0x14", 16))      # 20

四、8進制轉2進制

print(bin(int("0o17", 8)))   # 0b1111

其餘的也同理,使用int做爲中間量,進行互轉。

下面介紹的都是字符串的種種操做方法,記住便可。

二、字符串切片

直接看例子吧,三種用法都有。

st = "thepathofpython"

一、通常切片

print(st[0:3])   # the 區間包前不包後

二、帶步長的切片 **

print(st[0:8:3])   # tph 最後面的一個參數是步長

三、從後往前掃描 切片

print(st[-6:])   # python     右區間若無值,則默認包括末尾 到底

3.一、從後往前掃描 + 步長

print(st[-6::-2])   # potph   步長爲負數 表示從右到左掃
print(st[-6::2])   # pto     步長爲正數 表示從左到右掃

四、重點 面試題常考 翻轉字符串 *

print(st[::-1])   # nohtypfohtapeht   左區間若無值,則默認從首位開始

三、字符串字母大小寫

將字符串中的全部字母轉成大寫或者小寫,upper和lower函數

tmp = "xiYuanGongZi"

字符串字母所有變成大寫

print(tmp.upper())   # XIYUANGONGZI

字符串中字母所有變成小寫

print(tmp.lower())   # xiyuangongzi

四、startswith和endswith

判斷字符串開頭和尾端是否等於某一字符串。

tmp = "thepathofpython"

print(tmp.startswith('the'))   # True
print(tmp.startswith('zhe'))   # False

print(tmp.endswith("python"))   # True

五、Replace函數

tmp.replace(old, new, count)

替換一些特定的字符串,少許推薦。如有大量的字符要替換,推薦使用re正則,後面會有介紹。

replace函數用法例子:

tmp = "thepathofthepython"

tmp.replace(old, new, count)

一、簡單替換

print(tmp.replace("the", "study"))  # studypathofstudypython

二、限制替換次數

print(tmp.replace("the", "study", 1))   # studypathofthepython 第三個count 限制替換的old的次數

六、strip函數

左右兩端

st.strip()
st.strip("name")

單獨去除一端空白/自定義字符

st.lstrip()
st.rstrip()

默認去除字符串兩端的空白字符如:空格、製表符t、換行符n。固然你也能夠設置自定義的字符。

strip例子:

tmp = "n tthepathoftpythonnt"

一、默認兩端去除空白字符

兩端從頭掃描 去除空白字符,一旦碰到非空表字符,就中止掃描。因此of和python的t沒有被移除

print(tmp.strip())   # thepathof python

tmp2 = "tthepathoftpython"

二、設置特定字符

重點 strip中的字符串參數 ,每個字符都做爲要消除的,並非總體。兩端掃描,遇到參數字符串中的任意字符就消除,若沒遇到就中止掃描。

print(tmp2.strip("thpen"))   # athof pytho

三、單端掃描

print(tmp2.lstrip("thpen"))   # athof python 從首端掃描
print(tmp2.rstrip("thpen"))   # tthepathof pytho 從未端掃描

總結:這點有點繞,與replace不一樣是,strip是從兩端掃描,只要遇到非消除字符就中止掃描,結束。

七、split函數

st.split(char, count) ,split函數用於分割字符串 ,變成列表.

split用法例子:

tmp = "thepathofpython"

一、普通分割

print(tmp.split("*"))   # ['', 'the', 'path', 'of', 'python']

二、限制分割數量

print(tmp.split("", 3))   # ['', 'the', 'path', 'ofpython']   第二個參數count,限制分割的數量å

沒啥難點,注意分割會產生n+1的字符串(n是要分割的字符串在原字符串中的數量)

八、join函數

join函數語法:

str.join(sequence)

sequence -- 要鏈接的元素序列。

這個函數簡直就是split函數的cp,一個分割,一個合併。

join函數例子:

tmp = ['', 'the', 'path', 'of', 'python']

print("".join(tmp))   # thepathof*python

九、is系列

和C++中的用法差很少,連函數名稱都同樣,果真同宗生😂。

str.isalpha()   # 字符串的全部字符是否都是字母
str.isalnum()   # 字符串的全部字符是否都是字母或數字
str.isdecimal()  # 字符串的全部字符是否都是十進制數字

例子:

tmp = "zan66"
tmp2 = "zan"
tmp3 = "666"

print(tmp.isalnum())  # True 字符串的全部字符是否都是字母或數字
print(tmp2.isalpha())  # True 字符串的全部字符是否都是字母
print(tmp3.isdecimal())  # True 字符串的全部字符是否都是十進制數字

十、count函數

主要與統計某個字符在字符串中出現的次數。

count函數例子:

tmp = "thepathofpython"

print(tmp.count("t"))   # 3
print(tmp.count("z"))   # 0

十一、in/not in用法

通常用於列表中,判斷某成員是否在列表中。

例子:

tmp = ['the', 'path', 'of', 'python']
print('python' in tmp)   # True
print('love' not in tmp)  # True

總結:

肝的我背疼,歇歇,總算是寫完了。原本不想寫的,可是必須的堅持,天天一定要完成計劃。跟着計劃走纔會有有進步。

全程手敲,對知識的理解又加深了,明天繼續加油。

參考連接:

https://www.runoob.com/python/att-string-join.html

https://www.zwjjiaozhu.top

相關文章
相關標籤/搜索