python語言介紹
Python是一種計(jì)算機(jī)程序設(shè)計(jì)語言,是一種面向?qū)ο蟮膭?dòng)態(tài)類型語言,一種解釋型腳本語言,也被稱為是“膠水語言”,python代碼簡潔、易讀性、可擴(kuò)展性、可維護(hù)性和可移植性強(qiáng),是一種用途廣泛的語言,涉及眾多領(lǐng)域,圖像處理、web編程、數(shù)據(jù)分析、爬蟲、多媒體應(yīng)用、大數(shù)據(jù)、人工智能……等等眾多領(lǐng)域,非常適合初級(jí)編程學(xué)習(xí)。
下面就以常用的python基礎(chǔ)做一簡單總結(jié),如有寫的不對(duì)的地方,希望大家能夠指出來,我們共同進(jìn)步!
一、運(yùn)算符
- 算術(shù)運(yùn)算符: ‘+’ 加、 ‘-’ 減、 ‘*’ 乘 、 ‘/’ 除以 、 ‘%’ 取余 、 ‘**’ 指數(shù)冪 、 ‘//’ 整除
- 賦值運(yùn)算符:
a
=
2
# = 將2賦值給a
a
+=
2
# += 加法賦值運(yùn)算符-> a = a + 2
a
-=
2
# -= 減法賦值運(yùn)算符-> a = a - 2
a
*=
2
# *= 乘法賦值運(yùn)算符-> a = a * 2
a
/=
2
# /= 除法賦值運(yùn)算符-> a = a / 2
a
%=
2
# %= 取模賦值運(yùn)算符-> a = a % 2
a
**=
2
# **= 冪賦值運(yùn)算符-> a = a ** 2
a
//=
2
# //= 整除賦值運(yùn)算符-> a = a // 2
- 邏輯運(yùn)算符
# and 邏輯與 a and b 兩者同真才為真 True 否則都為假 False
# or 邏輯或 a or b 兩者同假才為假 False 否則都為真 True
# not 非運(yùn)算 not a 若a為假,則為True 否則為False
- 成員運(yùn)算符
# in 是否在指定的序列中 x in y 若x在y中,則為True,否則為False
# not in 是否不在指定的序列中
- 身份運(yùn)算符
# is 判斷對(duì)象內(nèi)存地址 print(id(a) is id(b)) 如果內(nèi)存地址相同則為True,否則為False
# is not 判斷不是 print(a is not b) 正確為True,否則為False
二、 基本數(shù)據(jù)類型
-
數(shù)字型(Number):包括整型和浮點(diǎn)型
1.整型 (int): 即整數(shù)10
2.浮點(diǎn)型(float):即小數(shù) 2.5 - 空值 (None):即0、[]、{}、’’
- 布爾型(bool):(True,F(xiàn)alse)對(duì)應(yīng)->(1,0)
- 字符串 (str): “abcde”,‘defs’, “”“gfakgfka”"",單引號(hào),雙引號(hào),三引號(hào)都可以表示字符串,三引號(hào)也可作注釋
- 列表(list):[1,2,3],用[]表示
- 元組(tuple):(1,2,3)用()表示
- 字典(dict):{‘name’:‘Tom’} 用{}表示,以鍵值對(duì)的形式name為鍵名key,Tom為值value
- 集合(set):{1,2,3} 用{}表示,以逗號(hào)隔開
- 復(fù)數(shù)(complex):即虛數(shù),1 + 2j,表示方法和數(shù)學(xué)上差不多,較少用到
- 二進(jìn)制數(shù)據(jù)類型(bytes) :b’dfGFkggkasfg’,字符串前加b,表示bytes類型數(shù)據(jù)。
三、序列類型常用方法
1.列表(list)
列表是一種有序的集合【有序:數(shù)據(jù)的存放順序和內(nèi)存中的存儲(chǔ)順序是相同的,列表中的數(shù)據(jù)在內(nèi)存中的地址是連續(xù)的,列表是一種可變的序列】
-
增
append():在列表的末尾添加新元素,添加單個(gè)元素,寫多個(gè)直接報(bào)錯(cuò)
list1 = [ 'Tom' , 'Harry' , 'Lili' ] list1 . append ( 'Jery' ) print ( list1 ) # ['Tom','Harry','Lili','Jery'] # 添加列表,會(huì)當(dāng)成一個(gè)元素添加到列表尾部 list1 . append ( [ 1 , 2 , 3 ] ) print ( list1 ) # ['Tom', 'Harry', 'Lili', 'Jery', [1, 2, 3]]
insert(): 插入,指定位置( 索引下標(biāo))插入元素
#如果下標(biāo)超過索引的范圍,如果是正數(shù),則默認(rèn)插入到列表末尾;如果是負(fù)數(shù),則默認(rèn)插入到列表開頭 list1 = [ 'Tom' , 'Harry' , 'Lili' ] list1 . insert ( 1 , 'xiaomi' ) print ( list1 ) # ['Tom','xiaomi','Harry','Lili'] list1 . insert ( - 10 , 'haha' ) print ( list1 ) # ['haha','Tom','xiaomi',Harry','Lili']
拼接列表
list1 = [ 1 , 2 , 3 ] list2 = [ 4 , 5 , 6 ] # 拼接列表的方法還有很多,下面簡單介紹幾種 """ extend():拼接擴(kuò)展列表,在前一個(gè)列表的末尾拼接另一個(gè)列表, 前一個(gè)列表增加元素,后一個(gè)列表不變,還可以拼接其他可迭代對(duì)象,打碎添加進(jìn)去 """ list1 . extend ( list2 ) print ( list1 ) # [1,2,3,4,5,6] list1 . extend ( "fgajfg" ) print ( list1 ) # [1, 2, 3, 4, 5, 6, 'f', 'g', 'a', 'j', 'f', 'g'] # "+" 拼接,生成新的列表 li = list1 + list2 print ( li ) # [1,2,3,4,5,6] # 選擇位置拼接: a = [ 1 , 2 , 3 ] a [ : 0 ] = [ 0 ] # 在首部拼接 [0, 1, 2, 3] a [ - 1 : ] = [ 4 , 5 , 6 ] # 在尾部拼接 [0, 1, 2, 3, 4, 5, 6] a [ 3 : 3 ] = [ "a" , "b" ] # 在中部拼接 [0, 1, 2, 'a', 'b', 4, 5, 6] # 列表替換方法: li = [ 1 , 2 , 3 , 4 ] li [ : 1 ] = "a" # 替換一個(gè) ['a', 2, 3, 4] li [ : 3 ] = [ 7 , 8 , 9 ] # 替換三個(gè) [7, 8, 9, 4] li [ 1 : 3 ] = [ "b" , "c" , "d" , "e" ] # 非等長替換 [7, 'b', 'c', 'd', 'e', 4] # 帶步長的替換一定要長度對(duì)等,即要替換的長度和替換的序列的長度要想等,否則報(bào)錯(cuò) li [ : : 2 ] = [ 1 , 2 , 3 ] # 帶步長替換 [1, 'b', 2, 'd', 3, 4] li [ : : 2 ] = [ 1 , 2 , 3 , 4 ] print ( li ) # ValueError: attempt to assign sequence of size 4 to extended slice of size 3
-
刪
pop():刪除,指定位置刪除,索引下表
list1 = [ 1 , 2 , 3 , 4 ] list1 . pop ( 2 ) print ( list1 ) # [1,2,4] # 不寫默認(rèn)刪除最后一個(gè) list1 . pop ( ) print ( list1 ) # [1,2]
del刪除
# 刪除元素: list1 = [ 1 , 2 , 3 , 4 , 5 ] del list1 [ 1 : 3 ] # 指定長度刪除元素 print ( list1 ) # [1, 4, 5] list2 = [ 1 , 4 , 5 , 6 , 7 , 8 , 9 ] del list1 [ : : 2 ] # 帶步長刪除 print ( list2 ) # [4, 6, 8]
remove:指定元素刪除
list1 = [ 1 , 2 , 3 , 4 ] list1 . remove ( '2' ) print ( list1 ) # [1,3,4] # 若有相同元素,則刪除第一個(gè)
clear:清空整個(gè)列表
list1 = [ 1 , 2 , 3 ] list1 . clear ( ) print ( list1 ) # []
-
改
指定位置修改
list1 = [ 'Tom' , 'Harry' , 'Lili' ] list1 [ 1 ] = 'xiaomi' print ( list1 ) # ['Tom','xiaomi','Lili']
-
查
index索引查,查詢下標(biāo)
list1 = [ 'Tom' , 'Harry' , 'Lili' ] print ( list1 . index ( 'Lili' ) ) # 2 # 若有多個(gè)相同的元素,則返回第一個(gè)元素的下標(biāo),若該元素不在列表中,則報(bào)錯(cuò)
通過索引獲取值
list1 = [ 1 , 2 , 3 , 4 ] print ( list1 [ 1 ] ) # 2
count 查找某元素在序列中的個(gè)數(shù)
list1 = [ 1 , 2 , 3 , 4 , 1 , 2 , 1 ] print ( list1 . count ( 1 ) ) # 3
-
其他方法
copy 列表里的拷貝
#一維列表 list1 = [ 11 , 22 , 33 ] list2 = list1 . copy ( ) print ( list1 ) # [11, 22, 33] print ( list2 ) # [11, 22, 33] print ( id ( list1 ) == id ( list2 ) ) # False print ( id ( list1 ) , id ( list2 ) ) # 2025481596616 2025481596872 list1 [ 2 ] = 100 print ( list1 ) # [11, 22, 100] print ( list2 ) # [11, 22, 33] print ( id ( list1 ) == id ( list2 ) ) # False print ( id ( list1 ) , id ( list2 ) ) # 2025481596616 2025481596872 #二維列表 list1 = [ [ 11 , 22 , 33 ] , [ 44 , 55 ] ] list2 = list1 . copy ( ) print ( list1 ) # [[11, 22, 33], [44, 55]] print ( list2 ) # [[11, 22, 33], [44, 55]] print ( id ( list1 ) == id ( list2 ) ) # False print ( id ( list1 ) , id ( list2 ) ) # 2025481609288 2025481596616 list1 [ 1 ] [ 1 ] = 100 print ( list1 ) # [[11, 22, 33], [44, 100]] print ( list2 ) # [[11, 22, 33], [44, 100]] print ( id ( list1 ) == id ( list2 ) ) # False print ( id ( list1 ) , id ( list2 ) ) # 2025481609288 2025481596616 """ 列表中的copy 一維列表:一個(gè)列表發(fā)生改變,另外一個(gè)列表不會(huì)隨著發(fā)生改變 二維列表:當(dāng)修改二維列表中的元素,當(dāng)一個(gè)列表發(fā)生改變,另外一個(gè)列表也會(huì)隨著發(fā)生改變 """ # 深淺拷貝 # 淺拷貝 import copy list1 = [ 11 , 22 , 33 ] list2 = copy . copy ( list1 ) print ( list1 ) # [11, 22, 33] print ( list2 ) # [11, 22, 33] print ( id ( list1 ) == id ( list2 ) ) # False list1 [ 2 ] = 100 print ( list1 ) # [11, 22, 100] print ( list2 ) # [11, 22, 100] print ( id ( list1 ) == id ( list2 ) ) # False # 二維列表 a = [ 1 , 2 , 3 ] b = [ 4 , 5 , 6 ] c = [ a , b ] d = copy . copy ( c ) print ( c ) # [[1, 2, 3], [4, 5, 6]] print ( d ) # [[1, 2, 3], [4, 5, 6]] print ( id ( c ) == id ( d ) # False a . append ( 100 ) print ( c ) # [[1, 2, 3, 100], [4, 5, 6]] print ( d ) # [[1, 2, 3, 100], [4, 5, 6]] # 深拷貝:copy.deepcopy() # 一維列表 list1 = [ 11 , 22 , 33 ] list2 = copy . deepcopy ( list1 ) print ( list1 ) # [11, 22, 33] print ( list2 ) # [11, 22, 33] print ( id ( list1 ) == id ( list2 ) ) # False list1 [ 2 ] = 100 print ( list1 ) # [11, 22, 100] print ( list2 ) # [11, 22, 33] print ( id ( list1 ) == id ( list2 ) ) # False # 二維列表 a = [ 1 , 2 , 3 ] b = [ 4 , 5 , 6 ] c = [ a , b ] d = copy . deepcopy ( c ) print ( c ) # [[1, 2, 3], [4, 5, 6]] print ( d ) # [[1, 2, 3], [4, 5, 6]] a . append ( 100 ) print ( c ) # [[1, 2, 3, 100], [4, 5, 6]] print ( d ) # [[1, 2, 3], [4, 5, 6]] """ 1.對(duì)于一維列表,copy和deepcopy之后的結(jié)果,一個(gè)列表發(fā)生改變,另外一個(gè)列表不受影響 2.對(duì)于二維列表 a.copy:只拷貝最外層,當(dāng)一個(gè)列表的二維列表中的元素發(fā)生改變,則另外一個(gè)列表也會(huì)隨著發(fā)生改變 b.deepcopy:拷貝里外層,當(dāng)一個(gè)列表的二維列表中的元素發(fā)生改變,另外一個(gè)列表不受影響 """
reverse 反轉(zhuǎn)列表
list1 = [ 1 , 5 , 3 , 4 ] list1 . reverse ( ) print ( list1 ) # out [4,3,5,1]
max/min求最值
list1 = [ 1 , 23 , 45 , 613 , 46 , 13 , 45 ] print ( max ( list1 ) ) # 613 print ( min ( list1 ) ) # 1
len求長度/sum求和
list1 = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] print ( len ( list1 ) ) # 8 print ( sum ( list1 ) ) # 36
交換兩個(gè)變量的值
# python中特有的語法 a = 10 b = 20 a , b = b , a print ( a , b ) # 20 10
sort 排序
list1 = [ 51 , 12 , 55 , 21 ] list1 . sort ( ) print ( list1 ) # out [12,21,51,55] # 倒序,reverse=True為倒序,F(xiàn)alse為正序 list1 . sort ( resverse = True ) print ( list1 ) # out [55,51,21,12] # sort 函數(shù)中,有個(gè)關(guān)鍵字key,可以自定義排序的規(guī)則 list2 = [ 'ssfafa' , 'sad' , 'asfafaf' , 'asffa' ] list2 . sort ( key = len , reverse = True ) print ( list1 ) # out ['asfafaf', 'ssfafa', 'asffa', 'sad']
切片 :訪問序列的方式
# [a:b:c] a,b,c為元素下標(biāo),[start,end,step] start:起始位置,end:結(jié)束位置(取不到),step 步長 list1 = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] print ( list1 [ : ] ) # 獲取全部 [0,1,2,3,4,5,6,7,8,9] print ( list1 [ 0 : ] ) # 獲取全部 [0,1,2,3,4,5,6,7,8,9] print ( list1 [ : 5 ] ) # [0,1,2,3,4] print ( list1 [ 1 : 7 : 2 ] ) # [1, 3, 5] print ( list1 [ - 1 ] ) # 9 print ( list1 [ - 1 : - 5 ] ) # [] print ( list1 [ 5 : 1 : - 1 ] ) # [5, 4, 3, 2] """ 因?yàn)椴介L為正,則正著取,即取【-1+步長】的這一位,即0位的元素, 不在索引范圍內(nèi),故取不到值,即(start,end都為負(fù)數(shù),start>end, step為正時(shí),返回[],也就是說,start,end都是負(fù)數(shù)時(shí),正著取,start一定要小于end, 否則為空,同樣,start,end都是整數(shù), 倒著取,start一定要大于end) """ print ( list1 [ - 5 : - 1 ] ) # [5, 6, 7, 8] end取不到 print ( list1 [ - 1 : - 7 : - 2 ] ) # 倒著取 [9, 7, 5] print ( list1 [ - 5 : - 1 : - 1 ] ) # [] 同理,[start + step] 不在范圍內(nèi),故為[] # 不管順著取,還是倒著取,[start + step]不在區(qū)間內(nèi)就返回[],記住這一點(diǎn)就差不多了。 # 特殊情況 print ( list1 [ 0 : - 1 ] ) # [0,1,2,3,4,5,6,7,8] -1位為列表最后一位元素,故start >0 ,end < 0 ,為順著開頭,倒著結(jié)尾的這個(gè)區(qū)間,一旦交叉,返回[] # 但加了步長又會(huì)不一樣 print ( list1 [ 0 : - 1 : - 1 ] ) # [],加了步長就要用上面的那種辦法考慮了 # 切片還有很多有意思的地方,這里就簡單說這么多了。
2.元組(tuple)
元組:和列表類似,元組也是一個(gè)有序的集合,元組和列表的不同之處: 定義,列表:[],元組:(),列表是一種可變的數(shù)據(jù)類型【可以增加或者刪除或者更改元素】,元組是一種不可變的數(shù)據(jù)類型【一旦定義好一個(gè)元組,該元組內(nèi)部的元素將不能再發(fā)生任何的改變】
-
表示
tuple1 = ( 1 , 2 , 3 ) # 定義的元組里面要在里面加","號(hào),否則系統(tǒng)會(huì)默認(rèn)為是其他的類型
-
獲取元素
# 元組獲取元素的方式和列表相同 tuple1 = ( 1 , 2 , 3 , 4 , 5 ) print ( tuple1 [ 1 ] ) # 2 # 元組是不可變類型,但如果元組中的元素是列表的話,就可以隨意修改了 tuple2 = ( [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ) tuple2 [ 1 ] . append ( "a" ) print ( tuple2 ) # ([1, 2, 3], [4, 5, 6, 'a'])
-
組合
t1 = ( 1 , 2 , 3 ) t2 = ( 4 , 5 , 6 ) print ( t1 + t2 ) # (1, 2, 3, 4, 5, 6) # 但可以相加,組合成一個(gè)新的元組 print ( t1 ) # (1, 2, 3) # 不可變類型
-
重復(fù)元素
t1 = ( 1 , 2 ) print ( t1 * 3 ) # (1,2,1,2,1,2) # 因?yàn)槭遣豢勺冾愋停手灰切薷牡姆椒ǎ际巧梢粋€(gè)新的數(shù)據(jù)
-
其他方法
tuple1 = ( 1 , 2 , 3 , 4 ) = # len()求長度 print ( len ( tuple1 ) ) # 4 # sum() 求和 print ( sum ( tuple1 ) ) # 10 # max()/min()最大值/最小值 print ( max ( tuple1 ) ) # 4 print ( min ( tuple1 ) ) # 1 # count() 查看元素個(gè)數(shù) print ( tuple1 . count ( 2 ) ) # 1 # index() 查看元素下標(biāo) print ( tuple1 . index ( 1 ) ) # 0 # del 刪除元組 del tuple1 print ( tuple1 ) # 報(bào)錯(cuò),未定義 # 元組可以和列表互相轉(zhuǎn)化 l1 = list ( tuple1 ) print ( l1 ) # [1, 2, 3, 4] print ( tuple ( l1 ) ) # (1,2,3,4) # 因?yàn)樵M是不可變類型,故它的方法較少
3.字符串(str)
字符串:用單引號(hào),雙引號(hào),三引號(hào)包裹起來一些元素,這種數(shù)據(jù)就叫做字符串,其中若有一些特殊字符,則需要用“\”來轉(zhuǎn)義
-
表示
a = '這是字符串!' # 單引號(hào) b = "這也是字符串!" # 雙引號(hào) # 單引號(hào)和雙引號(hào)不借助換行符不能直接換行表示,三引號(hào)可以直接換行表示 c = '''這還是字符串!''' # 三引號(hào),也做注釋
-
索引 切片方法都一致
str1 = '今天天氣不錯(cuò)!' print ( str1 [ 3 ] ) # 氣 print ( str1 [ 0 : 3 ] ) # 今天天
-
查/判斷
count 查詢某元素在該序列中出現(xiàn)的次數(shù)str1 = 'hello,world!' print ( str1 . count ( 'o' ) ) # 2
index /find 查詢某元素在該序列中的位置(下標(biāo))區(qū)別:index查找不存在的值會(huì)報(bào)錯(cuò),而find會(huì)返回-1
str1 = 'hello world!' print ( str1 . index ( 'world' ) ) # 6 # 從右邊開始查找 print ( str1 . rindex ( "o" ) ) # 7 print ( str1 . find ( 'llo' ) ) # 2 print ( str1 . find ( 'safa' ) ) # -1 # rfind()從右邊開始查找,返回下標(biāo) print ( str1 . rfind ( "w" ) ) # 6
isdigit()/isdecimal() 判斷字符串是否是純數(shù)字
str1 = 'hashlaf456h' print ( str1 . isdigit ( ) ) # False print ( str1 . isdecimal ( ) ) # False str2 = '4564644' print ( str2 . isdigit ( ) ) # True print ( str1 . isdecimal ( ) ) # True print ( str1 )
isalpha 判斷是否是純英文
str1 = 'hello,world!' print ( str1 . isalpha ( ) ) # False str2 = 'gkgfkakfhahfl' print ( str2 . isalpha ( ) ) # True
startswith 判斷是否是以某元素開頭
str1 = 'hello world!' print ( str1 . startswith ( 'hello' ) ) # True
endswith 判斷是否是以某元素結(jié)尾
str1 = 'hello,world!' print ( str1 . endswith ( 'ld!' ) ) # True
islower 判斷英文字母是否全為小寫
str1 = 'hsafhl434hsalfh' print ( str1 . islower ( ) ) # True
isupper 判斷英文字母是否全為大寫
str1 = 'KSFGKFGS,.,.' print ( str1 . isupper ( ) ) # True str2 = '41343' print ( str2 . isupper ( ) ) # False
istitle() 判斷字符串是否只有是字母是大寫
str1 = "Gjpdsjfs464" print ( str1 . istitle ( ) ) # True str2 = "GKG4674dsafa" print ( str2 . istitle ( ) ) # False # 如果其中有特殊字符則為False str3 = "Gjf;aj88**fsaf" print ( str3 . istitle ( ) ) # False
-
改: 字符串是不可變類型,下面的修改方法是生成新的序列
upper: 將英文全部修改為大寫str1 = 'hello,world!' print ( str1 . upper ( ) ) # HELLO,WORLD!
lower: 將英文全部修改為小寫
str1 = 'GHSAGKaskhfa' print ( str1 . lower ( ) ) # ghsagkaskhfa
strip (lstrip/rstrip) 消除字符串兩端無用的空格,lstrip,只消除左端的,rstrip,只消除右端的
str1 = ' hhflahfn hlhaf ahflh hah ' print ( str1 . strip ( ) ) # hhflahfn hlhaf ahflh hah print ( str1 . lstrip ( ) ) # hhflahfn hlhaf ahflh hah print ( str1 . rstrip ( ) ) # hhflahfn hlhaf ahflh hah
split :分割字符串,以列表的形式輸出,不寫默認(rèn)以空格分隔
str1 = 'hello world, today is nice day!' print ( str1 . split ( ' ' ) ) # ['hello', 'world,', 'today', 'is', 'nice', 'day!'] print ( str1 . split ( ) ) # ['hello', 'world,', 'today', 'is', 'nice', 'day!'] print ( str1 . split ( ',' ) ) # ['hello world', ' today is nice day!']
title:將字符串的每個(gè)單詞首字母大寫
str1 = "hello world!" print ( str1 . title ( ) ) # Hello World!
eveal() 將可以是表達(dá)式的字符串轉(zhuǎn)換成有效的表達(dá)式
str1 = "1 + 1" print ( eveal ( str1 ) ) # 2
“+” 拼接
str1 = "hello" str2 = " world" print ( str1 + str2 ) # hello world
str1.join(str2)拼接字符串,join()的實(shí)際意義是將str1分隔插入到str2中
str1 = '' str2 = [ "h" , "e" , "l" , "l" , "o" ] print ( str1 . join ( str2 ) ) # hello str3 = "+" str4 = "world" print ( '' . join ( str4 ) ) # world print ( str3 . join ( str4 ) ) # w+o+r+l+d
swapcase(),將字符串中的字母大寫變小寫,小寫變大寫
s = "HHEldf46546fGILGfa" print ( s . swapcase ( ) ) # hheLDF46546FgilgFA
capitalize(),將字符串的首單詞大寫,其他全部小寫
str1 = "dsHFSJHLdshlf" print ( str1 . capitalize ( ) ) # Dshfsjhldshlf
ord()將單個(gè)字母根據(jù)assic碼轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字,chr():將單個(gè)數(shù)字根據(jù)assic碼轉(zhuǎn)換成相應(yīng)的字母
str1 = 65 print ( chr ( str1 ) ) # A 這里數(shù)字和字母對(duì)應(yīng)的assic碼為: a-z : 97-122 A-Z:65-90 str2 = "B" print ( ord ( str2 ) ) # 66
str1.center(length,str2) 將字符串str1居中放置到str2中,整個(gè)字符串長度為length,不夠的用str2填充
str1 = "hello" print ( str1 . center ( 20 , "*" ) ) # *******hello********
replace(old,new)替換
str1 = "h e l l o" print ( str1 . replace ( " " , "" ) ) #hello print ( str1 . replace ( "o" , "o ,world" ) ) # h e l l o ,world
str.maketrans() translate()映射替換
#1、使用 str.maketrans()函數(shù)生成一個(gè)數(shù)據(jù)關(guān)系映射表 t = str . maketrans ( "abcdef" , "123456" ) # 兩個(gè)字符串的字符長度要對(duì)應(yīng),否則報(bào)錯(cuò) str1 = "bdce" #將映射表放入函數(shù)中 print ( str1 . translate ( t ) ) # 2435
字符串的編碼encode解碼decode(主要針對(duì)中文)
str1 = "hello" # 默認(rèn)編碼方式為 utf8 # 編碼 print ( str1 . encode ( ) ) # b'hello' str2 = "你好" print ( str2 . encode ( ) ) # b'\xe4\xbd\xa0\xe5\xa5\xbd' str3 = b '\xe4\xbd\xa0\xe5\xa5\xbd' # 解碼 print ( str3 . decode ( ) ) # 你好 print ( str2 . encode ( ) . decode ( ) ) # 你好 str4 = "今天天氣不錯(cuò)!" s = str4 . encode ( "GBK" ) print ( s ) # b'\xbd\xf1\xcc\xec\xcc\xec\xc6\xf8\xb2\xbb\xb4\xed\xa3\xa1' print ( s . decode ( ) ) #報(bào)錯(cuò) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbd in position 0: invalid start byte # 以gbk編碼,不寫解碼方式,默認(rèn)以u(píng)tf8解碼,故會(huì)報(bào)錯(cuò) print ( s . decode ( "gbk" ) ) # 今天天氣不錯(cuò)!
待更新!!!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
