Python 003 字串的神操作

2022-05-30 23:06:10 字數 2172 閱讀 5892

1.編碼:計算機最早是acsii碼,美國人創造的,包含了英文本母(大寫字母,小寫字母)

數字,標點等特殊符號;

:共有7位0和1組成,表示128個acsii碼,但是計算機對7這個數字不敏感,所以在每乙個acsii碼前面加了乙個0

所以補充到8位(bit)位元,8位構成乙個位元組(byte)

2.gbk:國標碼,由於計算機的傳播,acsii只有256個位置,所以國標碼設定成了2個位元組,有16位

3.unicode:萬國碼,公升級到了32位,有4個位元組,造成了浪費

4.utf-8:根據文字內容進行具體編碼:英文:乙個位元組;歐洲文字:16位,2byte;中文:32位:3byte,24位

1.int:簡要操作:a = 3 print(a.bit_length())主要是看3佔多少位二進位制位  輸出結果為 2  因為3用二進位制表示為11;

2.bool:轉換時,ture = 1 ,false = 0

int轉換bool型別時,0表示false, 1表示true;   所以在寫迴圈時:while true = while 1

str轉換bool型別時,空的為false(none也是空,深坑請留意),非空為true;

3.str:一些常用操作:

3.1 str索引和切片

索引:就是下標(從0開始,深坑請留意) s = "***"  print(s[count])就會直接列印下標為count的字元;

如果count為負值,代表從後往前找,-1代表最後乙個;

多個字元擷取:s = "***" print(s[起始位置:結束位置:步長])  如果沒有步長,代表步長為1,擷取字串中的起始位置和結束位置-1

內的所有字元,這叫顧頭不顧腚!   如果有步長,步長為n,每n位擷取乙個,擷取的是第一位! 

如果步長為負:起始位置》結束位置,並且從右往左擷取! 若下標超出字串長度時,會報錯!

3.2 str常用操作字母大小寫

s1 = s.capitalize()首位字母大寫,其他字母全小寫

s1 = s.upper/lower()全部變成大寫/小寫  s1 = s.swapcase()大小寫互相轉換

s1 = s.title()每個被特殊字元隔開的字母首字母大寫,中文也算是特殊字元!

3.3 str常用操作對字元的切割

s1 = "字串" newstr = s1.center(拉長到幾位,"填充元素")

s1 = "  字串 " newstr = s1.strip()

(去除字串兩邊的元素)lstrip:去左邊的元素; rstrip:去右邊的元素;

(如果你的字串是這樣的"aaaaaa哈哈哈aaaaaaaaaaaaaa",s1.strip("a")輸出結果為:哈哈哈,會一直消除,它只管兩邊),也可以消製表符(\t)換行符(\n)

s1 = " 字串  " s1 = s1.replace("字串","替換字串",替換個數)(這裡等號左邊的s1是被賦值成了乙個新字串返回,

而不是在原字串上新增了進行了操作!)

s1 = "字串" s1 = s1.split("用什麼來切") 你用什麼切,什麼就沒有了.切完之後變成了乙個列表,

(如果你的刀切在邊緣,你會得到乙個空字元,並不是什麼都沒有了,深坑請留意)

4. 字串查詢

s1 = "字串" newstr = s1.startswith/endswith("元素")判斷是不是以元素開頭/結尾

s1 = "字串" newstr = s1.count("元素")查詢字串中有幾個"元素"

s1 = "字串" newstr = s1.find("元素",起始位置,結束位置)查詢"元素"出現的位置,如果沒有,返回-1;可以切片找

例:s1 = "歡迎來到英雄聯盟" newstr = s1.find("英雄")這裡它查詢時是按兩位為一位查詢的(歡迎:0! 迎來:1! 來到:2!...)結果為4

s1 = "字串" newstr = s1.index("元素")這個查詢不到,會報錯!

5. 遍歷

for迴圈:for c in s: print(c)意思是把s中的每乙個字元交給前面的c迴圈,這個c是乙個自定義的變數,從s中取出什麼c就為什麼

缺點:沒有索引,c只能代表從s取出來的字元,賦值給變數c,不是索引!

語法: for 變數 in 可迭代物件:  迴圈體

注意:字串的一切操作對原字串無影響,只有重新賦值,變成新字串,而列表是在原列表的基礎上進行的操作

Python學習記錄W2 11 字串常用操作

author allenlee name my name is and i am old print name.capitalize 首字母大寫 print name.count a 統計a的個數 print name.center 50 一共列印50個字元,name在中間,其他用 補全 print...

字串python3 python3字串常用方法

整型和布林值的轉換 bin 十進位制轉二進位制 int 1101 2 二進位制轉十進位制 十進位制轉二進位制的演算法 除2 取餘,獲取的所有餘數從下往上進行計算 二進位制轉十進位制的演算法 從右向左,依次乘以2的次方 1101 1 20 0 21 12 2 1 2 3 python2 中有long ...

Python筆記(二)字串

記憶體位址 字串為不可變型別,原先指向字串的位址是不可改變的 line he line copy line print id line 2607584542648 print id line copy 2607584542648 line she he print id line 260758458...