Python中除了數字(Numbers)(int,float,complex)之外,另外一種重要的類型就是字符串。
字符串是字符序列,可以由任何字符構成。
在Python語言中,字符串可以放在單引號('這是字符串內容')或雙引號("這是字符串內容")中。
Python中提供了豐富的字符串操作函數以及靈活的運算方式。本站將在今后陸續推出相關內容。
1、Python字符串定義及輸出¶
Python中字符串的定義與變量的定義方式相同。字符串內容放入單引號或雙引號即可。
下面是在Python 3.8.2 IDLE中的執行情況:
>>> "Hello"
'Hello'
>>> 'www.companysz.com'
'www.companysz.com'
>>> "'I Love You',She said and went out yesterday."
"'I Love You',She said and went out yesterday."
>>> 'VeVb.com的名稱是"武林網VEVB"'
'VeVb.com的名稱是"武林網VEVB"'
>>> s = "www.companysz.com"
>>> s
'www.companysz.com'
>>> s = 'www.companysz.com'
>>> s
'www.companysz.com'
>>> s = "武林網VEVB"
>>> print(s)
武林網VEVB
從上面的執行可以看出,在Python IDLE中直接輸出字符串的話 ,輸出結果是含單引號的,并且在字符串中不包含雙引號或單引號的話,Python輸出的字符串一律使用單引號包裹起來,否則會原樣輸出。使用print()函數輸出的字符串是不含單引號或雙引號的。
2、字符串中引號的處理
有時字符串內容中包含單引號或雙引號,這時,我們可以有2種處理方式:
(1)單引號中使用雙引號或雙引號中使用單引號
s1 = "他昨天跟我說:'我已經學會了Python的所有基礎內容。'"
print(s1)
s2 = '她昨天拒絕了我的求愛,她是這樣跟我說的:"我的孩子現在上小學了。"'
print(s2)
#下面這種定義方式存在問題
s3 = '輕輕的我走了,正如我輕輕的來。'你個小偷,往哪里走!'突然屋主人醒了。'
print(s3)
#下面這種定義方式也存在問題
s4 = "輕輕的我走了,正如我輕輕的來。"你個小偷,往哪里走!"突然屋主人醒了。"
print(s4)
上面例子中,后面兩個由于字符串中的引號和包裹字符串內容的引號使用相同,會給出 SyntaxError: invalid syntax 的錯誤。而第1和第2個例子中,包裹字符串的引號和字符串中的引號使用不同的形式,可以避免發生問題
(2)使用轉義字符
轉義字符是指對字符串中一些特殊字符的處理方式,如換行、tab鍵字符、單引號、雙引號等(本站將在今后專門來介紹)。轉義字符使用 / 來表示,即 / 后的一個字符。
str = "He was my loved man,but he always said to me:/"You are doing right things. But I/'m not a GUY/""
print(str)
OutPut: He was my loved man,but he always said to me:"You are doing right things. But I'm not a GUY"
上面的例子中字符串中包含了雙引號和單引號的情況,而在字符串中出現引號的前面加一個 / 就避免了出現語法錯誤的問題。
3、連接字符串
在Python中可以使用 + 把多個字符串連接成一個字符串。
>>> 'Hello' + ' Kitty' #注意,我這里的Kitty前面加了一個空格
'Hello Kitty'
>>> s1 = "Hello,"
>>> s2 = "VeVb.com"
>>> s1 + s2
'Hello,VeVb.com'
>>> s3 = s1 + s2
>>> print(s3)
Hello,VeVb.com
在Python中,并列定義的多個字符串,自動合并為一個字符串,如下例:
>>> "武林網VEVB" "網址是:" "www.companysz.com"
'武林網VEVB網址是:www.companysz.com'
>>> s = "I Love you since I/'m a child." "Sure,I/'m your father after all."
>>> print(s)
I Love you since I'm a child.Sure,I'm your father after all.
上面的例子中,并列定義時,不允許換行。
這種語法在處理較長文本時是非常有用的:
s = ("昨天一個瘋子跑過來,使勁拽著我的胳膊,我甩都甩不掉了。"
"當時我嚇壞了,我一直在想著逃脫的方法。"
"這時一位警察走過來,把我摁倒在地。"
"警察說:/"我們盯你好久了,你竟然光天化日下搶奪別人的東西!/"")
print(s)
上面這個例子,將會把所有的字符串按一個字符串來處理。
這種語法結構只能用于字符串本身的情況,不可以使用變量,下面這個例子將會有語法錯誤:
s1 = "武林網"
s2 = s1 "VEVB" #語法錯誤
s3 = "www.companysz.com"
s4 = s1 s3 #語法錯誤
s5 = "武林網" s3 #語法錯誤
上面在定義s2、s4和s5時的寫法都是錯誤的。這種情況下只能使用 + 來把多個字符串連接。
4、字符串的重復次數
在Python中可以使用 * 對某個字符串重復若干次。
>>> "I Love You!" * 3
'I Love You!I Love You!I Love You!'
>>> 3 * 'abc'
'abcabcabc'
>>> s = "AB"
>>> s * 3
'ABABAB'
>>> 3 * s
'ABABAB'
新聞熱點
疑難解答