var1 = 'Hello World!' var2 = "Python Programming"
#!/usr/bin/python3 var1 = 'Hello World!' var2 = "Python Programming" print ("var1[0]: ", var1[0]) print ("var2[1:5]: ", var2[1:5])
var1[0]: H var2[1:5]: ytho
可以通過(再)分配給另一個字串變數來「更新」現有的字串。新的值可以相關聯它之前的值或使用另一個完全不同的字串。例如 -
#!/usr/bin/python3 var1 = 'Hello World!' print ("Updated String :- ", var1[:6] + 'Python')
Updated String :- Hello Python
反斜線
符號
|
十六進位制
字元
|
描述 |
---|---|---|
\a | 0x07 |
響鈴或警報
|
\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 |
|
十六進位制表示法,其中n的範圍是從 0.9, a.f, 或 A.F |
操作符 | 描述 | 範例 |
---|---|---|
+ |
拼接 - 操作符兩邊值相連線
|
a + b =' HelloPython' |
* |
重複 - 建立新的字串,連結相同的字串多個副本
|
a*2 = 'HelloHello' |
[] |
切片 - 提供從給定索引對應的字元
|
a[1] = 'e' |
[ : ] |
範圍切片 - 提供從給定的範圍內字元
|
a[1:4] =' ell' |
in |
成員操作符 - 如果一個字元在給定字串中存在,則返回true
|
H in a = 1 |
not in |
成員操作符 - 如果一個字元在給定的字串中不存在,則返回true
|
M not in = 1 |
r/R | 原始字串 - 禁止跳脫字元實際意義。 字母「r」這是引號前導。 | print r'\n' 列印 \n , print R'\n' 列印 \n |
% |
格式 - 執行字串格式化
|
參見下一節
|
Python有一個最酷的功能是字串格式運算子%。這個操作符對於字串是是唯一的,並填補了 C語言中 printf()系列函式。下面是一個簡單的例子-
#!/usr/bin/python3 print ("My name is %s and weight is %d kg!" % ('Zara', 21))
My name is Zara and weight is 21 kg!
格式符號
|
轉變
|
---|---|
%c | 字元 |
%s |
通過str()來轉換格式化字串
|
%i |
有符號十進位制整數
|
%d |
有符號十進位制整數
|
%u |
無符號十進位制整數
|
%o |
八進位制整數
|
%x |
十六進位制整數(小寫字母)
|
%X |
十六進位制整數(大寫字母)
|
%e |
指數符號(小寫「e」)
|
%E |
指數計數法(以大寫「E」)
|
%f |
浮點實數
|
%g |
%f和%e的簡寫
|
%G |
%f和%E的簡寫
|
符號 | 功能描述 |
---|---|
* |
引數指定寬度或精度
|
- |
左對齊
|
+ |
顯示符號
|
<sp> |
在一個正數前留一個空格
|
# |
新增前導零('0')八進位制或前導0x「或」0X「十六進位制,取決於是否使用了'x'或'X'。
|
0 |
墊留下了零(而不是空格)
|
% |
'%%'保留一個常數「%」
|
(var) |
對映變數(字典引數)
|
m.n. |
m是最小總寬度和n是小數點後顯示數量(如果appl)
|
#!/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)
當執行上面的程式碼,它產生了以下結果。注意,如何每一個特殊字元已經轉換到它的列印形式,一直到最後的NEWLINE之間的字串的結尾關閉三重引號。還要注意的是出現新行或者使用一行或末尾明確回車其換碼(\ 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')
C:\nowhere
#!/usr/bin/python3 print (r'C:\\nowhere')
C:\\nowhere
在Python 3,所有的字串都是以Unicode表示。在Python2中內部儲存為8位元ASCII,因此,它需要附上「u」以讓明確使用的是Unicode。但在Python3 中現在不再是必要的。
SN |
方法及描述
|
---|---|
1 |
將字串的第一個字母大寫
|
2 |
返回以fillchar填充的字串以及原始字串中心到總 width 列
|
3 |
count(str, beg= 0,end=len(string))
計數str有多少次出現在在字串中;或如果開始索引beg和結束索引 end 給出,則計運算元字串在一個字串中出現的次數
|
4 |
decode(encoding='UTF-8',errors='strict') 利用註冊編解碼器解碼編碼字串。編碼預設是系統預設字串編碼 |
5 |
encode(encoding='UTF-8',errors='strict') 返回字串的編碼字串版本; 在出錯時,預設引發 ValueError 錯誤,除非用「ignore」或「replace」 |
6 |
endswith(suffix, beg=0, end=len(string)) 確定是否字串或字串的子串(如果開始索引beg和結束索引end給出)以 suffix 結束; 如果是這樣返回true,否則為false |
7 | 擴充套件製表符字串到多個空格; 預設每個製表符為8個空格,如果不提供製表符的大小 |
8 |
find(str, beg=0 end=len(string))
確定是否在字串或字串找到一個子字元str(如果開始索引beg和結束索引end給出),如果找到則返回索引,否則返回-1
|
9 |
index(str, beg=0, end=len(string))
同 find()方法,如果str沒有找到則引發異常
|
10 |
如果string至少有1個字元,所有字元是字母數位則返回true,否則返回false
|
11 |
如果string至少有1個字元,所有字元是字母則返回true,否則為false
|
12 |
如果字串僅包含數位返回true,否則為false
|
13 |
如果string至少有1個可轉大小寫字元,所有可轉大小字元是小寫字母則返回true,否則為false
|
14 |
如果一個Unicode字串只包含數位字元則返回true,否則為false
|
15 |
如果字串只包含空格字元則返回true,否則為false
|
16 |
如果字串是否正確「titlecased」(首字母大寫)返回true,否則為false
|
17 | 如果string至少有1個可轉大小寫字元,所有可轉大小字元是大寫字母則返回true,否則為false |
18 |
合併(符連線)序列 seq 融入一個字串,以及使用分隔符字串的字串表示。
|
19 |
返回字串的長度
|
20 |
返回一個空格填充字串與原字串左對齊到總寬度列
|
21 |
字串中所有大寫字母轉換為小寫
|
22 |
刪除字串的所有前導空格
|
23 |
返回要在轉換函式使用的轉換表
|
24 |
從字串str返回最大拼音/字母字元
|
25 | 從字串str返回最小拼音/字母字元 |
26 |
使用 new 替換所有出現在字串中的 old 或 如果 max 給定,替換現的 max
|
27 |
rfind(str, beg=0,end=len(string))
類似於 find(),但在字串中是向後搜尋
|
28 |
rindex( str, beg=0, end=len(string))
類似於 index(),但在字串中是向後搜尋
|
29 |
返回一個空格填充字串,以及原始字串以總寬度列向右對齊
|
30 |
刪除字串結尾的所有空格
|
31 |
split(str="", num=string.count(str)) 根據分隔符str(如果未提供則預設為空格)分裂字串並返回子字串列表; 如果num給定,則分割成至多num個子字串 |
32 |
splitlines( num=string.count('\n'))
拆分所有(或num)字串換行符,並返回每行去除換行後的列表
|
33 |
startswith(str, beg=0,end=len(string)) 確定字串或字串的子串是否以(如果開始索引beg和結束索引end給出)子字串str開頭; 如果是返回true,否則為false |
34 |
對字串同時執行lstrip()和rstrip()
|
35 |
反轉在字串中的所有字母大小寫(大寫轉小寫,小寫轉大寫)
|
36 |
返回「titlecased」字串的版本,也就是所有的字開頭大寫,其餘小寫
|
37 |
translate(table, deletechars="")
根據翻譯表str(256字母)轉換字串,刪除那些在del字串
|
38 |
將字串的小寫字母轉換為大寫
|
39 |
返回原字串左邊用零填充到總寬度的字元; zfill()保留給任何正負號(少一個零)
|
40 |
如果一個Unicode字串只包含小數點字元則返回 true,否則為 false
|