日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python筆記:基礎知識(三)-字符串-2018.9.19

 靜幻堂 2018-09-23
Python小白菜 2018-09-19 23:39:14
Python筆記:基礎知識(三)-字符串-2018.9.19

字符串,在幾乎所有Python程序中都有字符串,它的主要用途就是表示一段文本,比如著名的感嘆句“Hello,world!”.

  • 單引號字符串、轉義字符
>>>"Hello,world!"
'Hello,world!'
>>>'Hello,world!'
'Hello,world!'

上面兩個實例中,第一個使用雙引號將字符串括起,第二個使用單引號將字符串括起,兩者沒有任何差別。但為什么又要同時支持呢?看下面這三個實例:

>>>"Let's go!"
"Let's go!"
>>> 'Let's go!'
SyntaxError: invalid syntax
>>>'"Hello,world!" she said'
'"Hello,world!" she said'

上面第一個實例中,字符串內(nèi)包含了單引號,因此不能再用單引號來括字符串,在這里字符串是‘Let’,Python解釋器不知道該如何處理s后面的字符,如果還是跟第二個實例那樣使用單引號括起整個字符串,Python解釋器會報錯。第三個實例,字符串內(nèi)包含了雙引號,因此必須使用單引號括起全部字符串。

如果一定要用單引號來括整個字符串,可以用反斜杠 對引號進行轉義:

>>> 'Let's go!'
"Let's go!"

這樣Python解釋器就知道中間的單引號也是字符串的一部分,同樣,雙引號也可以用同樣的方法處理:

>>> ""hello,world!" she said"
'"hello,world!" she said'
  • 拼接字符串
>>> "Let's go" '"hello,world!"'
'Let's go"hello,world!"'

連續(xù)輸入兩個字符串,Python解釋器會自動把它們拼接起來,合并為一個字符串。這種拼接字符串的方式并非常用。正常拼接將兩段相加就可以了

>>> "Hello," + "world!"
'Hello,world!'
>>> x = "hello,"
>>> y = "world!"
>>> x+y
'hello,world!'
  • 字符串表示str和repr
>>> "Hello,world!"
'Hello,world!'
>>> print("Hello,world!")
Hello,world!

第一個實例是用引號括起的,Python解釋器在打印時,保留了在代碼中的樣子,所以使用print()所打印出的結果,才是真正展現(xiàn)給用戶的效果。

兩種不同的方式將值轉換成字符串,可以通過使用str()和repr() 函數(shù)直接使用這兩種方式,通過下面兩個實例觀察兩者的不同:

>>> print(repr("Hello,
world!"))
'Hello, world!'
>>> print(str("Hello, world!"))
Hello,
world!
  • 長字符串、原始字符串和字節(jié)

1、長字符串

要表示跨越多行的字符串,可以使用三引號''' ... '''或三個雙引號""" ... """,這讓Python解釋器能夠識別表示字符串開始和結束的位置,字符串本身包含的單引號和雙引號,不用使用反斜杠進行轉義。

>>> print('''This is a very long string.
It continues here.
And it's not over yet.
Still here''')
This is a very long string.
It continues here.
And it's not over yet.
Still here
>>> print("""This is a very long string.
It continues here.
And it's not over yet.
Still here""")
This is a very long string.
It continues here.
And it's not over yet.
Still here

除長字符串外,常規(guī)的短字符串也可以跨行,在行尾加反斜杠即可,這種處理方式也適用于表達式和語句。

>>> print("hello, 
world!")
hello, world!
>>> 1+2+
4+5
12
>>> print
('hello,world')
hello,world

2、原始字符串

在原始字符串中不會對反斜杠進行處理,效果跟repr()函數(shù)類似,在常規(guī)字符串中,使用反斜杠可以讓字符串包含原本無法的字符,比如上面已經(jīng)出現(xiàn)的一個實例:

>>> print('Hello,
world')
Hello,
world

通常情況下是可以的,但是在有些特殊情況,就不行了,比如字符串中包含了路徑C: owfile

>>> print('C:
ewfile')
C:
ewfile
>>> print('C:\newfile')
C: ewfile

通常使用反斜杠 對反斜杠進行轉義就行,但如果是一個很長的路徑就需要大量的反斜杠,這種情況下,就可以使用原始字符進行處理,讓字符串的每個字符保持原樣。

>>> print(r'C:
ewfile')
C: ewfile
>>> print(r'C:Program Files ile ree oo')
C:Program Files ile ree oo

通過上面?zhèn)z實例能看出來,原始字符串用r''表示' '這對單引號內(nèi)的字符串,不進行轉義。

>>> print(r'Let's go')
Let's go

還有需要注意的是原始字符串不能以反斜杠結尾,因為Python解釋器無法判斷字符串是否到此結束

>>> print(r'This is illegal')	 
SyntaxError: EOL while scanning string literal

但如果最后一個字符必須是反斜杠,這可以這樣處理:

>>> print(r'C:Program Filesooar' '\')	 
C:Program Files ooar

字符串這節(jié)太枯燥了,大體理解的差不多了,關于字符編碼,先不看了。

后面要是能用到再補上。

參考書籍《Python基礎教程(第三版)》

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多