鍍金池/ 教程/ Python/ Python3字符串
Python3文件操作
Python3日期和時(shí)間
Python3基礎(chǔ)語(yǔ)法
Python3字典
Python3元組
Python3文件方法
Python3字符串
Python3引入什么新的東西?
Python3異常處理
Python3模塊
Python3數(shù)字
Python3變量類(lèi)型
Python3函數(shù)
Python3循環(huán)
Python3 os文件目錄的方法
Python3 while循環(huán)語(yǔ)句
Python3斷言
Python3基本運(yùn)算符
Python3環(huán)境安裝設(shè)置
Python3標(biāo)準(zhǔn)異常
Python3嵌套循環(huán)
Python3教程
Python3決策
Python3 for循環(huán)語(yǔ)句
Python3列表

Python3字符串

字符串在Python中是最普遍的類(lèi)型。我們可以通過(guò)使用引號(hào)引起字符來(lái)簡(jiǎn)單地創(chuàng)建他們。Python對(duì)待(處理)單引號(hào)和雙引號(hào)一樣。創(chuàng)建字符串和一個(gè)變量賦值一樣簡(jiǎn)單。例如 -
var1 = 'Hello World!'
var2 = "Python Programming"

訪(fǎng)問(wèn)字符串的值

Python不支持的字符類(lèi)型; 這些都被視為長(zhǎng)度為1的字符串,因此也被認(rèn)為是一個(gè)子字符串。
要訪(fǎng)問(wèn)子字符串,用方括號(hào)以及索引或索引來(lái)獲得子切片。例如 -
#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "Python Programming"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
var1[0]:  H
var2[1:5]:  ytho

更新字符串

可以通過(guò)(再)分配給另一個(gè)字符串變量來(lái)“更新”現(xiàn)有的字符串。新的值可以相關(guān)聯(lián)它之前的值或使用另一個(gè)完全不同的字符串。例如 -

#!/usr/bin/python3

var1 = 'Hello World!'

print ("Updated String :- ", var1[:6] + 'Python')
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果- 
Updated String :-  Hello Python

轉(zhuǎn)義字符

下面的表格轉(zhuǎn)義或不可打印字符的列表,可以用反斜杠符號(hào)來(lái)表示。
轉(zhuǎn)義字符被解析; 帶單引號(hào)以及雙引號(hào)的字符串。
反斜線(xiàn)
符號(hào)
十六進(jìn)制
字符
描述
\a 0x07
響鈴或警報(bào)
\b 0x08
Backspace鍵
\cx

Control-x
\C-x

Control-x
\e 0x1b Escape
\f 0x0c Formfeed
\M-\C-x

Meta-Control-x
\n 0x0a 新行
\nnn

Octal notation, where n is in the range 0.7
\r 0x0d Carriage return
\s 0x20 空格
\t 0x09 Tab
\v 0x0b Vertical tab
\x

Character x
\xnn

十六進(jìn)制表示法,其中n的范圍是從 0.9, a.f, 或 A.F

字符串特殊操作符

假設(shè)字符串變量a='Hello' 和變量b=‘Python’,那么-
操作符 描述 示例
+
拼接 - 操作符兩邊值相連接
a + b =' HelloPython'
*
重復(fù) - 創(chuàng)建新的字符串,鏈接相同的字符串多個(gè)副本
a*2 = 'HelloHello'
[]
切片 - 提供從給定索引對(duì)應(yīng)的字符
a[1] = 'e'
[ : ]
范圍切片 - 提供從給定的范圍內(nèi)字符
a[1:4] =' ell'
in
成員操作符 - 如果一個(gè)字符在給定字符串中存在,則返回true
H in a = 1
not in
成員操作符 - 如果一個(gè)字符在給定的字符串中不存在,則返回true
M not in = 1
r/R 原始字符串 - 禁止轉(zhuǎn)義字符實(shí)際意義。 字母“r”這是引號(hào)前導(dǎo) print r'\n' 打印 \n , print R'\n' 打印 \n
%
格式 - 執(zhí)行字符串格式化
參見(jiàn)下一節(jié)

字符串格式化操作

Python有一個(gè)最酷的功能是字符串格式運(yùn)算符%。這個(gè)操作符對(duì)于字符串是是唯一的,并填補(bǔ)了 C語(yǔ)言中 printf()系列函數(shù)。下面是一個(gè)簡(jiǎn)單的例子-

#!/usr/bin/python3

print ("My name is %s and weight is %d kg!" % ('Zara', 21)) 
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
My name is Zara and weight is 21 kg!
這里是一套完整能夠與%一起使用的符號(hào)的列表 -
格式符號(hào)
轉(zhuǎn)變
%c 字符
%s
通過(guò)str()來(lái)轉(zhuǎn)換格式化字符串
%i
有符號(hào)十進(jìn)制整數(shù)
%d
有符號(hào)十進(jìn)制整數(shù)
%u
無(wú)符號(hào)十進(jìn)制整數(shù)
%o
八進(jìn)制整數(shù)
%x
十六進(jìn)制整數(shù)(小寫(xiě)字母)
%X
十六進(jìn)制整數(shù)(大寫(xiě)字母)
%e
指數(shù)符號(hào)(小寫(xiě)“e”)
%E
指數(shù)計(jì)數(shù)法(以大寫(xiě)“E”)
%f
浮點(diǎn)實(shí)數(shù)
%g
%f和%e的簡(jiǎn)寫(xiě)
%G
%f和%E的簡(jiǎn)寫(xiě)
其它支持的符號(hào)和功能都列在下表中 -
符號(hào) 功能描述
*
參數(shù)指定寬度或精度
-
左對(duì)齊
+
顯示符號(hào)
<sp>
在一個(gè)正數(shù)前留一個(gè)空格
#
添加前導(dǎo)零('0')八進(jìn)制或前導(dǎo)0x“或”0X“十六進(jìn)制,取決于是否使用了'x'或'X'。
0
墊留下了零(而不是空格)
%
'%%'保留一個(gè)常量“%”
(var)
映射變量(字典參數(shù))
m.n.
m是最小總寬度和n是小數(shù)點(diǎn)后顯示數(shù)量(如果appl)

三重引號(hào)

Python的三重引號(hào)允許字符串跨越多行,包括逐字換行符,制表符,以及任何其他特殊字符
三重引號(hào)的語(yǔ)法是由三個(gè)連續(xù)的單或雙引號(hào)組成。
#!/usr/bin/python3

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str) 

當(dāng)執(zhí)行上面的代碼,它產(chǎn)生了以下結(jié)果。注意,如何每一個(gè)特殊字符已經(jīng)轉(zhuǎn)換到它的打印形式,一直到最后的NEWLINE之間的字符串的結(jié)尾關(guān)閉三重引號(hào)。還要注意的是出現(xiàn)新行或者使用一行或末尾明確回車(chē)其換碼(\ n)-

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up. 

原始字符串不會(huì)把反斜杠作為一個(gè)特殊字符。 把一個(gè)原始字符串中的每個(gè)字符保持原來(lái)編寫(xiě)的方式 -

#!/usr/bin/python3
(
print ('C:\\nowhere')
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
C:\nowhere
現(xiàn)在使用原始字符串。我們會(huì)把表達(dá)式在 r'expression' 如下-
#!/usr/bin/python3

print (r'C:\\nowhere')
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
C:\\nowhere

Unicode字符串

在Python 3,所有的字符串都是以Unicode表示。在Python2中內(nèi)部存儲(chǔ)為8位ASCII,因此,它需要附上“u”以讓明確使用的是Unicode。但在Python3 中現(xiàn)在不再是必要的。

字符串內(nèi)置的方法

Python包括以下內(nèi)建的方法操作字符串-
<u id="s9lb9"><delect id="s9lb9"><nav id="s9lb9"></nav></delect></u>
<input id="s9lb9"></input>

              SN
              方法及描述
              1

              capitalize()

              將字符串的第一個(gè)字母大寫(xiě)
              2

              center(width, fillchar)

              返回以fillchar填充的字符串以及原始字符串中心到總 width 列
              3

              count(str, beg= 0,end=len(string))

              計(jì)數(shù)str有多少次出現(xiàn)在在字符串中;或如果開(kāi)始索引beg和結(jié)束索引 end 給出,則計(jì)算子字符串在一個(gè)字符串中出現(xiàn)的次數(shù)
              4

              利用注冊(cè)編解碼器解碼編碼字符串。編碼默認(rèn)是系統(tǒng)默認(rèn)字符串編碼
              5

              返回字符串的編碼字符串版本; 在出錯(cuò)時(shí),默認(rèn)引發(fā) ValueError 錯(cuò)誤,除非用“ignore”或“replace”
              6

              endswith(suffix, beg=0, end=len(string))

              確定是否字符串或字符串的子串(如果開(kāi)始索引beg和結(jié)束索引end給出)以 suffix 結(jié)束; 如果是這樣返回true,否則為false

              7

              expandtabs(tabsize=8)

              擴(kuò)展制表符字符串到多個(gè)空格; 默認(rèn)每個(gè)制表符為8個(gè)空格,如果不提供制表符的大小
              8

              find(str, beg=0 end=len(string))

              確定是否在字符串或字符串找到一個(gè)子字符str(如果開(kāi)始索引beg和結(jié)束索引end給出),如果找到則返回索引,否則返回-1
              9

              index(str, beg=0, end=len(string))

              同 find()方法,如果str沒(méi)有找到則引發(fā)異常
              10

              isalnum()

              如果string至少有1個(gè)字符,所有字符是字母數(shù)字則返回true,否則返回false
              11

              isalpha()

              如果string至少有1個(gè)字符,所有字符是字母則返回true,否則為false
              12

              isdigit()

              如果字符串僅包含數(shù)字返回true,否則為false
              13

              islower()

              如果string至少有1個(gè)可轉(zhuǎn)大小寫(xiě)字符,所有可轉(zhuǎn)大小字符是小寫(xiě)字母則返回true,否則為false
              14

              isnumeric()

              如果一個(gè)Unicode字符串只包含數(shù)字字符則返回true,否則為false
              15

              isspace()

              如果字符串只包含空格字符則返回true,否則為false
              16

              istitle()

              如果字符串是否正確“titlecased”(首字母大寫(xiě))返回true,否則為false
              17

              isupper()

              如果string至少有1個(gè)可轉(zhuǎn)大小寫(xiě)字符,所有可轉(zhuǎn)大小字符是大寫(xiě)字母則返回true,否則為false
              18

              join(seq)

              合并(符連接)序列 seq 融入一個(gè)字符串,以及使用分隔符字符串的字符串表示。
              19

              len(string)

              返回字符串的長(zhǎng)度
              20

              ljust(width[, fillchar])

              返回一個(gè)空格填充字符串與原字符串左對(duì)齊到總寬度列
              21

              lower()

              字符串中所有大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)
              22

              lstrip()

              刪除字符串的所有前導(dǎo)空格
              23

              maketrans()

              返回要在轉(zhuǎn)換函數(shù)使用的轉(zhuǎn)換表
              24

              max(str)

              從字符串str返回最大拼音/字母字符
              25

              min(str)