在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python字符串
Python異常處理
Python循環(huán)
Python基本運(yùn)算符
Python網(wǎng)絡(luò)編程(Sockets)
Python可以開發(fā)哪些程序?
Python XML解析和處理
Python數(shù)字
Python函數(shù)
Python變量類型
Python os模塊方法
Python迭代器
Python安裝和環(huán)境配置
Python構(gòu)造函數(shù)
Python文件對象方法
Python日期和時間
Python的歷史
Python生成器
Python+MySQL數(shù)據(jù)庫操作(PyMySQL)
Python命令行參數(shù)
Python元組
Python發(fā)送郵件
Python列表
Python文件讀寫
Python教程
Python面向?qū)ο螅惡蛯ο螅?/span>
Python多線程編程
Python多重繼承
Python決策
Python是什么?
Python快速入門
Python繼承
Python字典
Python字符串
Python操作符重載
Python正則表達(dá)式
Python閉包
Python修飾器
Python功能特點(diǎn)
Python模塊

Python字符串

字符串是Python中最受歡迎、最常使用的數(shù)據(jù)類型。可以通過用引號括起字符來創(chuàng)建它們。 Python將單引號與雙引號相同。創(chuàng)建字符串和向一個變量賦值一樣簡單。 例如 -

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

1.訪問字符串中的值

Python不支持字符類型; 字符會被視為長度為1的字符串,因此也被認(rèn)為是一個子字符串。要訪問子串,請使用方括號的切片加上索引或直接使用索引來獲取子字符串。 例如 -

#!/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

2.更新字符串

可以通過將變量分配給另一個字符串來“更新”現(xiàn)有的字符串。 新值可以與其原值相關(guān)或完全不同的字符串。 例如 -

#!/usr/bin/python3

var1 = 'Hello World!'

print ("Updated String :- ", var1[:6] + 'Python')

當(dāng)執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果 -

Updated String :-  Hello Python

3.轉(zhuǎn)義字符

下表是可以用反斜杠表示法表示轉(zhuǎn)義或不可打印字符的列表。單引號以及雙引號字符串的轉(zhuǎn)義字符被解析。

反斜線符號 十六進(jìn)制字符 描述/說明
\a 0x07 鈴聲或警報
\b 0x08 退格
\cx Control-x
\C-x Control-x
\e 0x1b Escape
\f 0x0c 換頁
\M-\C-x Meta-Control-x
\n 0x0a 新一行
\nnn 八進(jìn)制符號,其中n在0.7范圍內(nèi)
\r 0x0d 回車返回
\s 0x20 空格
\t 0x09 制表符
\v 0x0b 垂直制表符
\x 字符x
\xnn 十六進(jìn)制符號,其中n0~9,a~fA~F范圍內(nèi)

4.字符串特殊運(yùn)算符

假設(shè)字符串變量a保存字符串值’Hello‘,變量b保存字符串值’Python‘,那么 -

運(yùn)算符 說明 示例
+ 連接 - 將運(yùn)算符的兩邊的值添加 a + b 結(jié)果為 HelloPython
* 重復(fù) - 創(chuàng)建新字符串,連接相同字符串的多個副本 a*2 結(jié)果為 HelloHello
[] 切片 - 給出指定索引中的字符串值,它是原字符串的子串。 a[1] 結(jié)果為 e
[:] 范圍切片 - 給出給定范圍內(nèi)的子字符串 a[1:4] 結(jié)果為 ell
in 成員關(guān)系 - 如果給定字符串中存在指定的字符,則返回true 'H' in a 結(jié)果為 1
not in 成員關(guān)系 - 如果給定字符串中不存在指定的字符,則返回true 'Y' not in a 結(jié)果為 1
r/R 原始字符串 - 抑制轉(zhuǎn)義字符的實(shí)際含義。原始字符串的語法與正常字符串的格式完全相同,除了原始字符串運(yùn)算符在引號之前加上字母“r”。 “r”可以是小寫(r)或大寫(R),并且必須緊靠在第一個引號之前。 print(r'\n') 將打印 \n ,或者 print(R'\n') 將打印 \n,要注意的是如果不加rR作為前綴,打印的結(jié)果就是一個換行。
% 格式 - 執(zhí)行字符串格式化 請參見本文第5節(jié)

5.字符串格式化運(yùn)算符

Python最酷的功能之一是字符串格式運(yùn)算符。 這個操作符對于字符串是獨(dú)一無二的,彌補(bǔ)了C語言中 printf()系列函數(shù)。 以下是一個簡單的例子 -

#!/usr/bin/python3

print ("My name is %s and weight is %d kg!" % ('Maxsu', 71))

當(dāng)執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果 -

My name is Maxsu and weight is 71 kg!

以下是可以與%符號一起使用的完整符號集列表 -

編號 格式化符號 轉(zhuǎn)換
1 %c 字符
2 %s 在格式化之前通過str()函數(shù)轉(zhuǎn)換字符串
3 %i 帶符號的十進(jìn)制整數(shù)
4 %d 帶符號的十進(jìn)制整數(shù)
5 %u 無符號十進(jìn)制整數(shù)
6 %o 八進(jìn)制整數(shù)
7 %x 十六進(jìn)制整數(shù)(小寫字母)
8 %X 十六進(jìn)制整數(shù)(大寫字母)
9 %e 指數(shù)符號(小寫字母’e‘)
10 %E 指數(shù)符號(大寫字母’E
11 %f 浮點(diǎn)實(shí)數(shù)
12 %g %f%e
13 %G %f%E

其他支持的符號和功能如下表所列 -

編號 符號 功能
1 * 參數(shù)指定寬度或精度
2 - 左對齊
3 + 顯示標(biāo)志或符號
4 <sp> 在正數(shù)之前留空格
5 # 根據(jù)是否使用“x”或“X”,添加八進(jìn)制前導(dǎo)零(‘0‘)或十六進(jìn)制前導(dǎo)’0x‘或’0X‘。
6 0 使用零作為左邊墊符(而不是空格)
7 % %%‘留下一個文字“%
8 (var) 映射變量(字典參數(shù))
9 m.n. m是最小總寬度,n是小數(shù)點(diǎn)后顯示的位數(shù)(如果應(yīng)用)

6.三重引號

Python中的三重引號允許字符串跨越多行,包括逐字記錄的新一行,TAB和任何其他特殊字符。

三重引號的語法由三個連續(xù)的單引號或雙引號組成。

#!/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é)果。注意每個單獨(dú)的特殊字符如何被轉(zhuǎn)換成其打印形式,它是直到最后一個NEWLINEs在“up”之間的字符串的末尾,并關(guān)閉三重引號。 另請注意,NEWLINEs可能會在一行或其轉(zhuǎn)義碼(\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.

原始字符串根本不將反斜杠視為特殊字符。放入原始字符串的每個字符都保持所寫的方式 -

#!/usr/bin/python3

print ('C:\\nowhere')

當(dāng)執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果 -

C:\nowhere

現(xiàn)在演示如何使用原始的字符串。將表達(dá)式修改為如下 -

#!/usr/bin/python3

print (r'C:\\nowhere')

當(dāng)執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果 -

C:\\nowhere

7.Unicode字符串

Python 3中,所有的字符串都用Unicode表示。在Python 2內(nèi)部存儲為8位ASCII,因此需要附加’u‘使其成為Unicode,而現(xiàn)在不再需要了。

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

Python包括以下內(nèi)置方法來操作字符串 -

編號 方法 說明
1 capitalize() 把字符串的第一個字母轉(zhuǎn)為大寫
2 center(width, fillchar) 返回使用fillchar填充的字符串,原始字符串以總共width列為中心。
3 count(str, beg = 0,end = len(string)) 計算字符串中出現(xiàn)有多少次str或字符串的子字符串(如果開始索引beg和結(jié)束索引end,則在beg~end范圍匹配)。
4 decode(encoding = ‘UTF-8’,errors = ‘strict’) 使用編碼encoding解碼該字符串。 編碼默認(rèn)為默認(rèn)字符串encoding。
5 encode(encoding = ‘UTF-8’,errors = ‘strict’) 返回字符串的編碼字符串版本; 在錯誤的情況下,默認(rèn)是拋出ValueError,除非使用’ignore‘或’replace‘給出錯誤。
6 endswith(suffix, beg = 0, end = len(string)) 確定字符串或字符串的子字符串(如果啟動索引結(jié)束和結(jié)束索引結(jié)束)都以后綴結(jié)尾; 如果是則返回true,否則返回false
7 expandtabs(tabsize = 8) 將字符串中的制表符擴(kuò)展到多個空格; 如果沒有提供tabize,則默認(rèn)為每個制表符為8個空格。
8 find(str, beg = 0 end = len(string)) 如果索引beg和結(jié)束索引end給定,則確定str是否在字符串或字符串的子字符串中,如果找到則返回索引,否則為-1。
9 index(str, beg = 0, end = len(string)) find()相同,但如果沒有找到str,則引發(fā)異常。
10 isalnum() 如果字符串至少包含1個字符,并且所有字符均為數(shù)字,則返回true,否則返回false。
11 isalpha() 如果字符串至少包含1個字符,并且所有字符均為字母,則返回true,否則返回false
12 isdigit() 如果字符串只包含數(shù)字則返回true,否則返回false。
13 islower() 如果字符串至少包含1個字母,并且所有字符均為小寫,則返回true,否則返回false
14 isnumeric() 如果unicode字符串只包含數(shù)字字符,則返回true,否則返回false。
15 isspace() 如果字符串只包含空格字符,則返回true,否則返回false。
16 istitle() 如果字符串正確“標(biāo)題大小寫”,則返回true,否則返回false。
17 isupper() 如果字符串至少包含一個可變大小寫字符,并且所有可變大小寫字符均為大寫,則返回true,否則返回false。
18 join(seq) 將序列seq中的元素以字符串表示合并(并入)到具有分隔符字符串的字符串中。
19 len(string) 返回字符串的長度
20 ljust(width[, fillchar]) 返回一個空格填充的字符串,原始字符串左對齊到總共width列。
21 lower() 將字符串中的所有大寫字母轉(zhuǎn)換為小寫。
22 lstrip() 刪除字符串中的所有前導(dǎo)空格
23 maketrans() 返回在translate函數(shù)中使用的轉(zhuǎn)換表。
24 max(str) 從字符串str返回最大字母字符。
27 replace(old, new [, max]) 如果給定max值,則用new或最多最大出現(xiàn)替換字符串中所有出現(xiàn)的舊字符(old)。
28 rindex( str, beg = 0, end = len(string)) index()相同,但在字符串中向后搜索。
29 rjust(width,[, fillchar]) 返回一個空格填充字符串,原始字符串右對齊到總共寬度(width)列。
30 rstrip() 刪除字符串的所有尾隨空格。
31 split(str= 根據(jù)分隔符str(空格,如果沒有提供)拆分字符串并返回子字符串列表; 如果給定,最多分割為num子串。
32 splitlines( num=string.count(‘\n’)))”) 全部拆分字符串(或num)新行符,并返回每行的列表,并刪除新行符。
33 startswith(str, beg=0,end=len(string)) 確定字符串或字符串的子字符串(如果給定起始索引beg和結(jié)束索引end)以str開頭; 如果是則返回true,否則返回false。
34 strip([chars]) 對字符串執(zhí)行lstrip()rstrip()
35 swapcase() 反轉(zhuǎn)在字符串中的所有字母大小寫,即小寫轉(zhuǎn)大寫,大寫轉(zhuǎn)小寫。
36 title() 返回字符串的標(biāo)題版本,即所有單詞第一個字母都以大寫開頭,其余的都是小寫的。
37 translate(table, deletechars= 根據(jù)轉(zhuǎn)換表STR(256個字符),除去那些在del字符串轉(zhuǎn)換字符串。
38 upper() 將字符串中的小寫字母轉(zhuǎn)換為大寫。
39 zfill(width) 返回原始字符串,左邊填充為零,總共有寬度(width)字符; 對于數(shù)字zfill()保留給定的任何符號(少于一個零)。
40 isdecimal() 如果unicode字符串只包含十進(jìn)制字符,則返回true,否則返回false。