字元串 name = 'Jim' # name = str('jim') str1 = str(1.1) str2 = str([1, 2,3]) print(f'str1:{str1} ,str1_type:{type(str1)}') print(f'str2:{str2},str2_type: ...
字元串
name = 'Jim' # name = str('jim') str1 = str(1.1) str2 = str([1, 2,3]) print(f'str1:{str1} ,str1_type:{type(str1)}') print(f'str2:{str2},str2_type:{type(str2)}') ''' 結果: str1:1.1 ,str1:<class 'str'> str2:[1, 2, 3],str2_type:<class 'str'> 自己總結:str()或者單雙引號定義之後在記憶體中就是字元串,不管是任何形式? '''
按索引取和值切片(只讀不能寫)
name = 'Cyberpunk2077' print(name[0]) print(name[-1]) #負數從有往左從1開始取值 print(name[2:5]) #顧頭不顧尾切片 print(name[2:]) #不寫預設到末尾 print(name[1:9:2]) #在位置1-9之間步長為2取值 print(name[2::-2]) #步長為負數從右往左取值 ''' 結果: C yepn C 7 ber berpunk2077 yepn bC '''
成員運算in和not in,返回布爾值
str.strip(),其中str.lstrip()和str.rstrip()分別是去除左邊和右邊的
name = " Cyber punk 2077 " print(name.strip()) ''' 結果: Cyber punk 2077 預設去除兩端的空格 '''
str.split(),其中str.rsplit()從右邊開始切割
name = " Cyber pu:nk 2077 " print(name.split()) print(name.split(':')) ''' 預設空格切割返回一個列表 ['Cyber', 'pu:nk', '2077'] [' Cyber pu', 'nk 2077 '] '''
for迴圈返回每個字元
name = ' Ji:m ' for i in name: print(i) ''' 結果: J i : m '''
lower()和upper() 字母變小寫和大寫
name = 'Cyberpunk2077' print(name.lower()) print(name.upper())
stratswith()和endswith() 判定開頭和結尾
name = 'Cyberpunk2077' print(name.startswith('c')) print(name.endswith('7')) ''' 結果: False True '''
str.isdigit():字元串是否只有數字組成,是返回True,不是返回False(相似的有str.isdecimal()、str.isnumric(),前者檢查是否包含十進位字元,後者檢查是否只包含數字字元)
year = '2077' π = '3.14159' print(year.isdigit()) print(π.isdigit()) ''' 結果: True False '''
str.find(str1):如果發現找到str1在str中,並返回第一次開始的索引值,否則返回-1;str.rfind()則是從右往左,也就是最後一次出現的位置,沒有找到返回-1
str = "this is really a string example....wow!!!"; substr = "is"; print str.rfind(substr); print str.rfind(substr, 0, 10); print str.rfind(substr, 10, 0); print str.find(substr); print str.find(substr, 0, 10); print str.find(substr, 10, 0); ''' 結果 5 5 -1 2 2 -1 '''
str.index()和str.rindex()同上一個方法這區別是找不到的時候報錯
str.count()同上一個方法,只是它只為了記數,出現了多少次
str.center()、str.ljust()、str.rjust():預設空格填充到指定長度的字元穿,str在填充之後的中間,左邊,右邊;str.zfill()是0填充
str.captalize()、str.swapcase()、str.title():開頭第一個字母轉大寫,其他全小寫;大小寫互轉;每個單詞開頭字母大寫