Python概念
10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有金塔免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Python是一種計(jì)算機(jī)程序設(shè)計(jì)語言。是一種面向?qū)ο蟮膭討B(tài)類型語言,最初被設(shè)計(jì)用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
字符串概念
字符串的創(chuàng)建
''' 使用雙引號或者單引號都可以創(chuàng)建字符串 ''' s = 'ok' print (s,type(s)) # oks1 = "ok1" print (s1,type(s1)) # ok1 ''' 使用內(nèi)置函數(shù)str,傳入的可以是數(shù)字,可以是字母,也可以是浮點(diǎn)數(shù),最終該數(shù)據(jù)類型為str類型 ''' s2 = str('abc') print (s2,type(s2)) # abc s3 = str('123') print (s3,type(s3)) # 123
轉(zhuǎn)義字符
1、使用轉(zhuǎn)義字符無法表示的特殊字符
當(dāng)字符串中包含換行、回車、水平制表符、退格等無法直接表示的特殊字符時,該如何表示呢?
換行: newline,光標(biāo)移動到下一行的開頭
回車: return,光標(biāo)移動到本行開頭
水平制表符:tab鍵,光標(biāo)移動下一組4個空格開始處
退格:backspace鍵,回退一個字符
可以使用如下轉(zhuǎn)義字符
換行:
回車: \r
水平制表符: \t
退格: \b
print('abc\ndef') # abcdef 換行顯示 print('abc\rdef') # def 回車,移動到光標(biāo)本行開頭 print('123456\t123\t45') # 123456 123 45 制表符4個空格,按整體字符長度算 print('abc\bdef') # abdef 退格,刪除了c
2、使用反斜杠"\",作為轉(zhuǎn)義符
例如想直接打印一個字符串,但想在該字符串中包含單引,雙引等,需要使用\進(jìn)行轉(zhuǎn)義
print('what\'s you name') # what's you name print('打印一個雙引號\"') # 打印一個雙引號" print('打印一個反斜杠\\') # 打印一個反斜杠\
3、原始字符串
例如想打印 '\tC:\Program Files' -t為制表符,不想讓-t生效,那么可以使用到原始字符串raw
print('\t:programfiles') # :programfiles print(r'\t:programfiles') #\t:programfiles print(R'\t:programfiles') #\t:programfiles
4、字符串查操作
a) 使用index、rindex、find、rfind查找字符串中元素索引
s = '12334567' print(s.index('3')) # 2 print(s.rindex('3')) # 3 print(s.find('3')) # 2 print(s.rfind('3')) # 3 # 可以指定查找start和stop,例如從索引1開始到5結(jié)束,查找元素3的索引 print(s.index('3',1,5)) # 2 print(s.rfind('3',1,5)) # 3 # 當(dāng)查找的元素不在指定索引中時,index和rindex方法會拋出value error # 當(dāng)查找的元素不在指定索引中時,find和rfind方法會返回-1 print(s.index('9',1,5)) # ValueError: substring not found print(s.rindex('9',1,5)) # ValueError: substring not found print(s.find('9',1,5)) # -1 print(s.rfind('9',1,5)) # -1
b) 亦可使用查找列表查操作,查找對應(yīng)索引的元素
s = 'Python' print(s[3]) # h print(s[1:4]) # yth print(s[:-1]) # Pytho print(s[::-1]) # nohtyP print(s[:]) # Python print(s[:2:-1]) # noh
5、字符串的比較
a) 使用 >, <, ==, !=對字符串進(jìn)行比較
s1 = 'abc' s2 = 'def' print(s1 == s2) # False print(s1[0] < s2[0]) # True print(s1[1] > s2[0]) # False print(s1 != s2) # True
b) 字符串也可以適用is,==是比較相等性,is是比較同一性,但是對于字符串來說,python重復(fù)進(jìn)行調(diào)用
a = b = '123' c = '123' print (a is b) #True print (a == c) #True print (a is c) #True print(id(a),id(c)) #139917133452656 139917133452656
6、字符串的反轉(zhuǎn)
使用內(nèi)置函數(shù)reversed對字符串進(jìn)行反轉(zhuǎn)
s = 'hello world' print(list(reversed(s))) # ['d', 'l', 'r', 'o', 'w', ' ', 'o', 'l', 'l', 'e', 'h']
7、字符串的排序
使用內(nèi)置函數(shù)sorted對字符串進(jìn)行排序
s = 'EdfaCb' # 可以指定排序規(guī)則,例如先轉(zhuǎn)換成小寫,然后進(jìn)行排序,或者排序完對字符串進(jìn)行反轉(zhuǎn) # 不指定規(guī)則,則按照ord()的方式排序 print(sorted(s,key = str.lower)) # ['a', 'b', 'C', 'd', 'E', 'f'] print(sorted(s,reverse = True)) # ['f', 'd', 'b', 'a', 'E', 'C'] print(sorted(s)) # ['C', 'E', 'a', 'b', 'd', 'f']
8、字符串的大小寫轉(zhuǎn)換
a) upper 將所有字符轉(zhuǎn)換成大寫
b) lower 將所有字符轉(zhuǎn)換成小寫
c) swapcase 把所有小寫轉(zhuǎn)換成大寫,大寫轉(zhuǎn)小寫
d) title 把每個單詞的開頭轉(zhuǎn)換成大寫
s = 'java PytHon Shell' print(s.lower()) #java python shell print(s.upper()) # JAVA PYTHON SHELL print(s.swapcase()) # JAVA pYThON sHELL print(s.title()) # Java Python Shell
9、字符串的對齊
a) center 中心對齊
b) rjust 右對齊
c) ljust 左對齊
以上方法可以指定兩個參數(shù),第一個參數(shù)是寬度,第二個參數(shù)是對齊符號,不指定第二個參數(shù)默認(rèn)是空格。
d) zfill:右對齊,左邊用0填充
該方法值接收一個參數(shù),用于指定字符的寬度,如果指定的字符寬度小于字符串本身,那么返回字符串本身
s = 'hello world' print(s.center(20,'*')) # ****hello world***** print(s.ljust(18,'^')) # hello world^^^^^^^ print(s.rjust(18,'$')) # $$$$$$$hello world print(s.zfill(15)) # 0000hello world
10、字符串的替換
調(diào)用replace方法,對字符串進(jìn)行替換,str.replace('old','new','replace_num')
s = 'hi hi hi hello' #將hi替換為hello,最大替換個數(shù)為2個,不指定替換個數(shù)默認(rèn)為全部 print(s.replace('hi','hello',2)) # hello hello hi hello
11、去除字符串的前導(dǎo)符和后導(dǎo)符
調(diào)用方法lstrip、rstrip、strip對字符串前導(dǎo)符和后導(dǎo)符進(jìn)行去除
s = '****hello world^^^^^' print(s.lstrip('*')) # hello world^^^^^ print(s.rstrip('^')) # ****hello world print(s.strip('*^')) # hello world