Python之字符串

這兩天在學(xué)習(xí)Python,就有心把自己的學(xué)習(xí)過程記錄下來,作為自己的學(xué)習(xí)筆記吧。首先上一張有關(guān)Python字符串的思維導(dǎo)圖

廢話不多說,一步一步看

1.字符串的表示

Python中的字符串是指用單引號、雙引號或者三引號引出的一組字符,例如:
(1)str_one = '我是用單引號引的字符串'
(2)str_two = ''我是用雙引號引的字符串''
(3)str_three = '''我是由三個單引號引的字符串'''
(4)str_four = """我是由三個雙引號引的字符串"""
對于字符串的表示很簡單,這里不多做說明,需要注意以下幾點(diǎn):
(1)如果一句話中本身就存在單引號,那么我們就用雙引號引它,如果一句話中本身就存在單引號,那么我們就用雙引號引它,就像 a = "this is a so 'cute' cat",b = '今天終于“星期四”了,好開心!'
(2)三引號引出的字符串可以換行,如下

str_one = '''
我是第一行
我是第二行
'''

2.字符串的取值

content = "Never stop learning!"

(1)索引:content [num]

num是一個數(shù)值,在代碼中,num從左到右的順序是0,1,2,3...,所以content[0] = 'N',content[1] = 'e',當(dāng)然我們也可以從右往左取,從右往左的下標(biāo)順序是-1,-2,代表倒是第一個,倒數(shù)第二個,如content[-1]='!'

(2)切片:content[m:n:s]m代表開始下標(biāo),n代表結(jié)束下標(biāo),取值時取m到n前一個的值,s代表步長

具體看下面代碼示例來理解字符串的獲取

content = "Never stop learning!"
print(content[0])  # N
print(content[-2])  # g
print(content[78])  # 超出字符串長度,報錯:IndexError: string index out of range
print(content[0:5:1])  # 截取從索引0~取到第四個,步長為1,前閉后開
print(content[0:5])  # 從第0個取到第四個,默認(rèn)步長為1
print(content[0:])  # 從第0個取到最后一個
print(content[:8])  # 截取從開始位置~ 位置8 的字符串
print(content[::])  # 截取完整的字符串
print(content[2:-1])  # 截取從索引2 ~ 末尾-1的字符串
print(content[-2:])  # 截取字符串末尾兩個字符
print(content[::-1])  # 字符串的逆序(拓展)
print(content[3:100])  # 和索引有區(qū)別,切片值返回切的的數(shù)據(jù),不報錯
print(content[20:100])  # 返回空 不報錯
print(content[0:-1:1])  # 倒數(shù)第一個不取 

如有疑問,可以自己取打印一下上面的值,不難理解。

3.字符串的格式化

照例先看一下如下代碼

name = "lily"
age = 27.156789
print("%s今年%.2f歲" % (name, age))  # 1
print("I'm %(name)s. I'm %(age)d year old" % {'name': name, 'age': age})  # 2
print('{}今年{}歲'.format(name, age))  # 3
print('{1}今年{0}歲'.format(age, name))  # 4
print('{name}今年{a}歲'.format(name=name, a=age))  # 5

第1句:沒啥東西,主要就是用了格式化符,%s表字符串,%f代表浮點(diǎn)類型,%.2f代表浮點(diǎn)數(shù)保留兩位小數(shù)。
第2句:格式化符中間加(),里面填寫屬性名,跟后面賦值部分的屬性名稱相對照
第3句:.format格式開始,值的地方用{}占位i,然后.format()里填寫屬性即可
第4句:{}中間添加數(shù)值,代表的是.format()里相對的第幾個
第5句:{}中間添加屬性值,后面.format()里面改成賦值形式

格式化符對照表:

%s    字符串 (采用str()的顯示)
%r    字符串 (采用repr()的顯示)
%c    單個字符
%b    二進(jìn)制整數(shù)
%d    十進(jìn)制整數(shù)
%i    十進(jìn)制整數(shù)
%o    八進(jìn)制整數(shù)
%x    十六進(jìn)制整數(shù)
%e    指數(shù) (基底寫為e)
%E    指數(shù) (基底寫為E)
%f    浮點(diǎn)數(shù)
%F    浮點(diǎn)數(shù),與上相同
%g    指數(shù)(e)?或浮點(diǎn)數(shù) (根據(jù)顯示長度)
%G    指數(shù)(E)或浮點(diǎn)數(shù) (根據(jù)顯示長度)
%%    字符"%"

一般用到最多的也就%s,%d,%f等

4.字符串中常用的內(nèi)置函數(shù)

name = " lily Is A Big pig "
print(name.upper())  # 全部轉(zhuǎn)換為大寫
print(name.lower())  # 全部轉(zhuǎn)換為小寫
print(name.capitalize())  # 首字母大寫,其余小寫)
print(name.title())  # 首字母大寫
print(name.replace('Big', 'small'))  # 替換,將big替換成small
print(name.find('Big'))  # 查找字符串中是否有字符串,查找到則返回第一個下標(biāo),查找不到則返回-1
# print(name.index('hyq'))  # 和find功能類似,區(qū)別在于index如果找不到會報錯:ValueError: substring not found
print(name.isdigit())  # 判斷是否是數(shù)字類型
print(name.strip())  # 前后的空格除去,這里把lily前面的空格和pig后面的空格去掉
print(name.lstrip())  # 去左邊空格
print(name.rstrip())  # 去左邊空格
print(name.count('g'))  # 統(tǒng)計指定字符出現(xiàn)的次數(shù)
print(name.split(' '))  # 按指定字符分割字符串為數(shù)組

常用的內(nèi)置函數(shù)就不多說了,上面都有相對的注釋,嘻嘻!
好啦,關(guān)于字符串要整理的就這些拉,想起來再來補(bǔ)充,打完收工?。?/p>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容