字符串是 Python 中最常用的數(shù)據(jù)類型哟旗。
我們可以使用引號(hào)''
或""
來(lái)創(chuàng)建字符串碟联。
str = 'Hello World!'
name = "Mazy"
訪問(wèn)字符串中的值
格式:字符串[下標(biāo)位置 / 范圍]
print(str)
print(name)
print(str[4])
print(name[1:3])
執(zhí)行結(jié)果:
Hello World!
Mazy
o
az
轉(zhuǎn)義字符
在字符中使用特殊字符時(shí)脑豹,需要使用轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)義
轉(zhuǎn)義字符 | 描述 |
---|---|
\(在行尾時(shí)) | 續(xù)行符 |
\\ | 反斜杠符號(hào) |
\' | 單引號(hào) |
\" | 雙引號(hào) |
\a | 響鈴 |
\b | 退格(Backspace) |
\e | 轉(zhuǎn)義 |
\000 | 空 |
\n | 換行 |
\v | 縱向制表符 |
\t | 橫向制表符 |
\r | 回車 |
\f | 換頁(yè) |
字符串運(yùn)算符
下表實(shí)例變量a值為字符串 "Hello"抗愁,b變量值為 "Python":
操作符 | 描述 | 實(shí)例 |
---|---|---|
+ | 字符串連接 | a + b 輸出結(jié)果: HelloPython |
* | 重復(fù)輸出字符串 | a*2 輸出結(jié)果:HelloHello |
[] | 通過(guò)索引獲取字符串中字符 | a[1] 輸出結(jié)果 e |
[:] | 截取字符串中的一部分 | a[1:4] 輸出結(jié)果 ell |
in | 成員運(yùn)算符 - 如果字符串中包含給定的字符返回 True | H in a 輸出結(jié)果 1 |
not in | 成員運(yùn)算符 - 如果字符串中不包含給定的字符返回 True | M not in a 輸出結(jié)果 1 |
r/R | 原始字符串:所有的字符串都是直接按照字面的意思來(lái)使用馁蒂,沒(méi)有轉(zhuǎn)義特殊或不能打印的字符 | print(r'\n'), 結(jié)果為"/n" |
% | 格式字符串 | 請(qǐng)看下面的格式化輸入內(nèi)容 |
a = "Hello"
b = "Python"
print("a + b 輸出結(jié)果:", a + b)
print("a * 2 輸出結(jié)果:", a * 2)
print("a[1] 輸出結(jié)果:", a[1])
print("a[1:4] 輸出結(jié)果:", a[1:4])
if ("H" in a):
print("H 在變量 a 中")
else:
print("H 不在變量 a 中")
if ("M" not in a):
print("M 不在變量 a 中")
else:
print("M 在變量 a 中")
print(r'\n')
print(R'\n')
以上實(shí)例輸出結(jié)果為:
a + b 輸出結(jié)果: HelloPython
a * 2 輸出結(jié)果: HelloHello
a[1] 輸出結(jié)果: e
a[1:4] 輸出結(jié)果: ell
H 在變量 a 中
M 不在變量 a 中
\n
\n
字符串格式化
符 號(hào) | 描述 |
---|---|
%c | 格式化字符及其ASCII碼 |
%s | 格式化字符串 |
%d | 格式化整數(shù) |
%u | 格式化無(wú)符號(hào)整型 |
%o | 格式化無(wú)符號(hào)八進(jìn)制數(shù) |
%x | 格式化無(wú)符號(hào)十六進(jìn)制數(shù) |
%X | 格式化無(wú)符號(hào)十六進(jìn)制數(shù)(大寫(xiě)) |
%f | 格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度 |
%e | 用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù) |
%E | 作用同%e驹愚,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù) |
%g | %f和%e的簡(jiǎn)寫(xiě) |
%G | %f 和 %E 的簡(jiǎn)寫(xiě) |
%p | 用十六進(jìn)制數(shù)格式化變量的地址 |
格式化實(shí)例:
intro = "我叫 %s 今年 %d 歲!" % ('小明', 10)
print(intro) // "我叫 小明 今年 10 歲!"
# 另外一種格式化方法
intro1 = "my name is {name}, and i am {age} old"
# 格式化字符串
intro1.format(name='Mazy',age=21) // "my name is Mazy, and i am 21 old"
字符串基本內(nèi)建函數(shù)總結(jié)
以下假設(shè)變量 str = "hello world"
方法 | 描述 |
---|---|
str.capitalize() | 將字符串的第一個(gè)字符轉(zhuǎn)換為大寫(xiě) |
str.count("l") | 計(jì)算 l 在字符串中的個(gè)數(shù) |
str.center(50,"-") | 50個(gè)字符远搪,不足50位補(bǔ)- ,字符串居中 |
str.endswith("x") | 是否以x 結(jié)尾, 返回 True / False |
str.find("or") | 查找到or 所在的位置 |
str.isalnum() | 如果字符串至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False |
str.isalpha() | 如果字符串至少有一個(gè)字符并且所有字符都是字母則返回 True, 否則返回 False |
str.isdecimal() | 檢查字符串是否只包含十進(jìn)制字符,如果是返回 true逢捺,否則返回 false |
str.isdigit() | 如果字符串只包含數(shù)字則返回 True 否則返回 False |
str.isidentifier() | 判讀是不是一個(gè)合法的標(biāo)識(shí)符 |
str.isnumeric() | 如果字符串中只包含數(shù)字字符谁鳍,則返回 True,否則返回 False |
str.istitle() | 如果字符串是標(biāo)題化劫瞳,則返回 True倘潜,否則返回 False |
'+'.join( ['1','2','3']) | 以指定字符串作為分隔符,將 seq中所有的元素合并為一個(gè)新的字符串 |
str.ljust(50,'*') | 返回長(zhǎng)度為50個(gè)字符串志于,不夠在左邊加"*" |
str.rjust(50,'-') | 返回長(zhǎng)度為50個(gè)字符串涮因,不夠在右邊加"-" |
str.lower() | 全部轉(zhuǎn)換成小寫(xiě) |
str.upper() | 全部大寫(xiě) |
str.lstrip() | 刪除字符串前面的空格 |
str.rstrip() | 刪除字符串末尾的空格 |
str.replace('l','L',1) | 將第一個(gè) l 改成 L
|
str.rfind('l') | 從右往左查找 l 所在的位置 |
str.splitlines() | 將字符串通過(guò)換行符分割成列表 |
str.swapcase() | 大寫(xiě)轉(zhuǎn)小寫(xiě),小寫(xiě)轉(zhuǎn)大寫(xiě) |
str.title() | 轉(zhuǎn)化為標(biāo)題格式伺绽,單詞首字母大寫(xiě) |
str.zfill(50) | 填充到50個(gè)养泡,不足補(bǔ)0
|
補(bǔ)充:Python三引號(hào)
python三引號(hào)允許一個(gè)字符串跨多行,字符串中可以包含換行符奈应、制表符以及其他特殊字符
para_str = """這是一個(gè)多行字符串的實(shí)例
多行字符串可以使用制表符
TAB ( \t )澜掩。
也可以使用換行符 [ \n ]。
"""
print (para_str)
實(shí)例執(zhí)行結(jié)果為:
這是一個(gè)多行字符串的實(shí)例
多行字符串可以使用制表符
TAB ( )杖挣。
也可以使用換行符 [
]肩榕。