Python中除了數(shù)字(Numbers)(int,float,complex)之外,另外一種重要的類型就是字符串。
字符串是字符序列,可以由任何字符構(gòu)成。
在Python語言中,字符串可以放在單引號('這是字符串內(nèi)容')或雙引號("這是字符串內(nèi)容")中。
Python中提供了豐富的字符串操作函數(shù)以及靈活的運(yùn)算方式。本站將在今后陸續(xù)推出相關(guān)內(nèi)容。
1、Python字符串定義及輸出¶
Python中字符串的定義與變量的定義方式相同。字符串內(nèi)容放入單引號或雙引號即可。
下面是在Python 3.8.2 IDLE中的執(zhí)行情況:
>>> "Hello"
'Hello'
>>> 'www.survivalescaperooms.com'
'www.survivalescaperooms.com'
>>> "'I Love You',She said and went out yesterday."
"'I Love You',She said and went out yesterday."
>>> 'VeVb.com的名稱是"武林網(wǎng)VEVB"'
'VeVb.com的名稱是"武林網(wǎng)VEVB"'
>>> s = "www.survivalescaperooms.com"
>>> s
'www.survivalescaperooms.com'
>>> s = 'www.survivalescaperooms.com'
>>> s
'www.survivalescaperooms.com'
>>> s = "武林網(wǎng)VEVB"
>>> print(s)
武林網(wǎng)VEVB
從上面的執(zhí)行可以看出,在Python IDLE中直接輸出字符串的話 ,輸出結(jié)果是含單引號的,并且在字符串中不包含雙引號或單引號的話,Python輸出的字符串一律使用單引號包裹起來,否則會(huì)原樣輸出。使用print()函數(shù)輸出的字符串是不含單引號或雙引號的。
2、字符串中引號的處理
有時(shí)字符串內(nèi)容中包含單引號或雙引號,這時(shí),我們可以有2種處理方式:
(1)單引號中使用雙引號或雙引號中使用單引號
s1 = "他昨天跟我說:'我已經(jīng)學(xué)會(huì)了Python的所有基礎(chǔ)內(nèi)容。'"
print(s1)
s2 = '她昨天拒絕了我的求愛,她是這樣跟我說的:"我的孩子現(xiàn)在上小學(xué)了。"'
print(s2)
#下面這種定義方式存在問題
s3 = '輕輕的我走了,正如我輕輕的來。'你個(gè)小偷,往哪里走!'突然屋主人醒了。'
print(s3)
#下面這種定義方式也存在問題
s4 = "輕輕的我走了,正如我輕輕的來。"你個(gè)小偷,往哪里走!"突然屋主人醒了。"
print(s4)
上面例子中,后面兩個(gè)由于字符串中的引號和包裹字符串內(nèi)容的引號使用相同,會(huì)給出 SyntaxError: invalid syntax 的錯(cuò)誤。而第1和第2個(gè)例子中,包裹字符串的引號和字符串中的引號使用不同的形式,可以避免發(fā)生問題
(2)使用轉(zhuǎn)義字符
轉(zhuǎn)義字符是指對字符串中一些特殊字符的處理方式,如換行、tab鍵字符、單引號、雙引號等(本站將在今后專門來介紹)。轉(zhuǎn)義字符使用 / 來表示,即 / 后的一個(gè)字符。
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"
上面的例子中字符串中包含了雙引號和單引號的情況,而在字符串中出現(xiàn)引號的前面加一個(gè) / 就避免了出現(xiàn)語法錯(cuò)誤的問題。
3、連接字符串
在Python中可以使用 + 把多個(gè)字符串連接成一個(gè)字符串。
>>> 'Hello' + ' Kitty' #注意,我這里的Kitty前面加了一個(gè)空格
'Hello Kitty'
>>> s1 = "Hello,"
>>> s2 = "VeVb.com"
>>> s1 + s2
'Hello,VeVb.com'
>>> s3 = s1 + s2
>>> print(s3)
Hello,VeVb.com
在Python中,并列定義的多個(gè)字符串,自動(dòng)合并為一個(gè)字符串,如下例:
>>> "武林網(wǎng)VEVB" "網(wǎng)址是:" "www.survivalescaperooms.com"
'武林網(wǎng)VEVB網(wǎng)址是:www.survivalescaperooms.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.
上面的例子中,并列定義時(shí),不允許換行。
這種語法在處理較長文本時(shí)是非常有用的:
s = ("昨天一個(gè)瘋子跑過來,使勁拽著我的胳膊,我甩都甩不掉了。"
"當(dāng)時(shí)我嚇壞了,我一直在想著逃脫的方法。"
"這時(shí)一位警察走過來,把我摁倒在地。"
"警察說:/"我們盯你好久了,你竟然光天化日下?lián)寠Z別人的東西!/"")
print(s)
上面這個(gè)例子,將會(huì)把所有的字符串按一個(gè)字符串來處理。
這種語法結(jié)構(gòu)只能用于字符串本身的情況,不可以使用變量,下面這個(gè)例子將會(huì)有語法錯(cuò)誤:
s1 = "武林網(wǎng)"
s2 = s1 "VEVB" #語法錯(cuò)誤
s3 = "www.survivalescaperooms.com"
s4 = s1 s3 #語法錯(cuò)誤
s5 = "武林網(wǎng)" s3 #語法錯(cuò)誤
上面在定義s2、s4和s5時(shí)的寫法都是錯(cuò)誤的。這種情況下只能使用 + 來把多個(gè)字符串連接。
4、字符串的重復(fù)次數(shù)
在Python中可以使用 * 對某個(gè)字符串重復(fù)若干次。
>>> "I Love You!" * 3
'I Love You!I Love You!I Love You!'
>>> 3 * 'abc'
'abcabcabc'
>>> s = "AB"
>>> s * 3
'ABABAB'
>>> 3 * s
'ABABAB'
新聞熱點(diǎn)
疑難解答
圖片精選