Python小白菜 2018-09-19 23:39:14 字符串,在幾乎所有Python程序中都有字符串,它的主要用途就是表示一段文本,比如著名的感嘆句“Hello,world!”.
>>>"Hello,world!" 上面兩個實例中,第一個使用雙引號將字符串括起,第二個使用單引號將字符串括起,兩者沒有任何差別。但為什么又要同時支持呢?看下面這三個實例: >>>"Let's go!" 上面第一個實例中,字符串內(nèi)包含了單引號,因此不能再用單引號來括字符串,在這里字符串是‘Let’,Python解釋器不知道該如何處理s后面的字符,如果還是跟第二個實例那樣使用單引號括起整個字符串,Python解釋器會報錯。第三個實例,字符串內(nèi)包含了雙引號,因此必須使用單引號括起全部字符串。 如果一定要用單引號來括整個字符串,可以用反斜杠 對引號進行轉義: >>> 'Let's go!' 這樣Python解釋器就知道中間的單引號也是字符串的一部分,同樣,雙引號也可以用同樣的方法處理: >>> ""hello,world!" she said"
>>> "Let's go" '"hello,world!"' 連續(xù)輸入兩個字符串,Python解釋器會自動把它們拼接起來,合并為一個字符串。這種拼接字符串的方式并非常用。正常拼接將兩段相加就可以了 >>> "Hello," + "world!"
>>> "Hello,world!" 第一個實例是用引號括起的,Python解釋器在打印時,保留了在代碼中的樣子,所以使用print()所打印出的結果,才是真正展現(xiàn)給用戶的效果。 兩種不同的方式將值轉換成字符串,可以通過使用str()和repr() 函數(shù)直接使用這兩種方式,通過下面兩個實例觀察兩者的不同: >>> print(repr("Hello, world!"))
1、長字符串 要表示跨越多行的字符串,可以使用三引號''' ... '''或三個雙引號""" ... """,這讓Python解釋器能夠識別表示字符串開始和結束的位置,字符串本身包含的單引號和雙引號,不用使用反斜杠進行轉義。 >>> print('''This is a very long string. 除長字符串外,常規(guī)的短字符串也可以跨行,在行尾加反斜杠即可,這種處理方式也適用于表達式和語句。 >>> print("hello, 2、原始字符串 在原始字符串中不會對反斜杠進行處理,效果跟repr()函數(shù)類似,在常規(guī)字符串中,使用反斜杠可以讓字符串包含原本無法的字符,比如上面已經(jīng)出現(xiàn)的一個實例: >>> print('Hello, world') 通常情況下是可以的,但是在有些特殊情況,就不行了,比如字符串中包含了路徑C: owfile >>> print('C: ewfile') 通常使用反斜杠 對反斜杠進行轉義就行,但如果是一個很長的路徑就需要大量的反斜杠,這種情況下,就可以使用原始字符進行處理,讓字符串的每個字符保持原樣。 >>> print(r'C: ewfile') 通過上面?zhèn)z實例能看出來,原始字符串用r''表示' '這對單引號內(nèi)的字符串,不進行轉義。 >>> print(r'Let's go') 還有需要注意的是原始字符串不能以反斜杠結尾,因為Python解釋器無法判斷字符串是否到此結束 >>> print(r'This is illegal') 但如果最后一個字符必須是反斜杠,這可以這樣處理: >>> print(r'C:Program Filesooar' '\') 字符串這節(jié)太枯燥了,大體理解的差不多了,關于字符編碼,先不看了。 后面要是能用到再補上。 參考書籍《Python基礎教程(第三版)》 |
|