<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
前言:
前面提到了Python中的數值型內建資料型別,接下來呢我們就著重介紹一下字串型別。在Python中字串是一個有序的字元集合,沒有獨立的字元資料型別,當字串長度為1時就可以認為其是字元。Python的內建資料型別str用於字串處理。str物件的值為字元系列字串是不可變序列。
顧名思義字串就是有一串字元所組成的東西而為了這串東西的安全,要將其放進單引號、雙引號、三單引號、三雙引號其中之一中。要一一對應,不可以拿單引號配三引號。【單引號、雙引號創造的字串不可以換行】
'Hello World' "Hello World" '''Hello World''' """Hello World"""
瑪麗震場:
''' Hello World ******** ************ ####....#. #..###.....##.... ###.......###### ### ### ### ### ........... #...# #...# #...# #...# ##*####### #.#.# #.#.# #.#.# #.#.# ####*******###### #.#.# #.#.# #.#.# #.#.# ...#***.****.*###.... #...# #...# #...# #...# ....**********##..... ### ### ### ### ....**** *****.... #### #### ###### ###### ############################################################## ################################## #...#......#.##...#......#.##...#......#.##------------------# #...#......#.##------------------# ###########################################------------------# ###############------------------# #..#....#....##..#....#....##..#....#....##################### #..#....#....##################### ########################################## #----------# ############## #----------# #.....#......##.....#......##.....#......# #----------# #.....#......# #----------# ########################################## #----------# ############## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# #.#..#....#..# #----------# ########################################## ############ ############## ############ '''
在Python
中單行註釋使用的是#,對於多行註釋可以使用三個雙引號,也可以使用三個單引號。
#我是單行註釋 ''' 我是一行註釋 ''' """ 我也是一行註釋 """
在Python2中支援的是ASCII編碼,Python3
中使用的是Unicode
,支援中文。內建函數ord()
與chr()
可以進行編碼與字元之間的轉換。
例如:
str(object=‘')#建立空字串【當然這個object物件可以指向任意物件】
str()返回一個字串物件通過str()可以將任意物件轉換為str物件如果被轉換物件實現了__str__()方法,則轉換為指定的str物件,否則轉換為repr(object)
,repr()是Python另一個內建的函數,該函數返回一個物件的更精確的字串表示形式。
str物件是不可變物件,所以使用str方法生成的新的str物件都是一個新的物件。字串通常會在常數池中存在,並且一個字串只有一個這樣的機制極大的節約了空間與時間稱為【字串駐留機制】
程式碼如下:
a='asd' b='asd' # 兩個字串物件地址相同 print(id(a),id(b))
①匹配子串
''' 引數物件在初始物件中的位置 ''' p='asdqweasdwr' print('----------------------------------------------------') # 找到列印,找不到丟擲異常 # 找出字串第一次出現的位置 # print('asd'.index(p)) print(p.index('asd')) # 找出子串最後一次出現的位置 print(p.rindex('asd')) # 找子串,找不到不丟擲異常列印-1 print('asd'.find(p)) print(p.find('asd')) print(p.rfind('asd'))
②字串的大小寫轉換
''' 大寫轉小寫,小寫轉大寫,每個單詞開頭轉大寫,每段開頭轉大寫 轉換函數都是字串物件的函數 ''' print('----------------------------------------------------') # 小寫轉大寫 print('asd asd qwe'.upper()) # 大寫轉小寫 print('aSd Asd Qwe'.lower()) # 大小寫互換 print('AsD SsE qwe'.swapcase()) # 開頭轉成小寫 print('asd asd qwe'.capitalize()) # 每個單詞開頭轉大寫 print('asd asd qwe'.title())
③字串中的內容對齊方法
''' 字串對齊,只有指定的寬度大於字串長度才會進行對齊,否則沒有效果 ''' print('----------------------------------------------------') # 居中 print('qwe'.center(20,'*')) # 左對齊 print('asd'.ljust(20,'@')) # 右對齊 print('ert'.rjust(20,'$')) # 零填充 print('-8750'.zfill(10))
④拆解字串
''' 從字串左邊開始劈分,預設以空格為間隔,劈分的結果是一個列表 sep指定分劈的字元,maxsplit指定分劈的次數 ''' print('----------------------------------------------------') # 預設從左開始劈 l='hello234234234sds World kity'.split(sep='2',maxsplit=5) print(l) # 預設從右開始劈 ll='hello234234234sds World kity'.rsplit() print(ll)
⑤判斷字串型別
''' 通過函數判斷字串內含有的字元型別 ''' print('----------------------------------------------------') # 判斷字串是不是合法的識別符號 print('asdqwew.,.123'.isidentifier()) # 判斷字串是否全部由空白字元組成(回車、換行、水平製表符) print('nt'.isspace()) #判斷字串是否全部由字母組成 print('asdqwewqxas'.isalpha()) # 判斷字串是否全部由十進位制數位組成 print('hello234234234sds World kity'.isdecimal()) # 判斷字串是否全由數位組成 print('hello234234234sds World kity'.isnumeric()) # 判斷字串是否全由字母和數位組成 print('hello234234234sdsWorldkit'.isalnum())
⑥字串的替代與合併
''' 字串的費空間拼接,以及字串的不費空間拼接 ''' print('----------------------------------------------------') # 字串子串的替換 # 字串的替換,替換後原來的字串不發生變化,返回新產生的字串 # 引數依次是被替換的子串,新的子串,以及最大替換次數 print('asd,asdqweasdkasdjklnlhihasdnjasd'.replace('asd','qwe',2)) print() # 字串的拼接 # 費空間(產生字串碎片) a='qwe' a=a+'asd' # 節約空間(不產生字串碎片) q='qwe' q.join('asd') print('---------------------------------')
⑦字串的格式化
''' 有兩種方式一種是預留位置,另一種是花括號 ''' name='小朱佩奇' age=20 print('-------------------------------') # 字串格式化 print('我叫%s,今年%d歲了' %(name,age)) print('我叫{0},今年{1}歲了'.format(name,age)) # 小數格式化 # 一共十位,小數三位算上小數點 print('%10.3f' %3.14159265) # 一共10位,數位佔3位 print('{0:10.3}'.format(3.14159265))
⑧字串編碼
sql='為人民服務' # GBK中中文字元佔有兩位 print(sql.encode('GBK')) # UTF-8中中文字元佔有3位 print(sql.encode('UTF-8')) # 字串轉為位元組碼 # 編碼 by1=b'hello' by2='hello'.encode() # 解碼 print(str(b'hello')) print(by2.decode())
程式碼如下:
''' 字串切片後會產生新的字串 ''' print('--------------------------------') a='Hello World' print(a[3:]) print(a[:5]) print(a[1:8:2]) print(a[:-6]) print(a[-6:])
結果:
總結:
上面就是今日分享的關於Python中字串物件的所有內容啦。在Python中字串語法簡單但是方法的作用十分的複雜並且實用,由於東西較多想要完全掌握還是比較難滴。還望我們多多努力啦。
到此這篇關於Python中字串物件語法分享的文章就介紹到這了,更多相關Python字串物件語法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45