免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python筆記:基礎(chǔ)知識(shí)(三)-字符串-2018.9.19
Python小白菜 2018-09-19 23:39:14

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

  • 單引號(hào)字符串、轉(zhuǎn)義字符
>>>"Hello,world!"
'Hello,world!'
>>>'Hello,world!'
'Hello,world!'

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

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

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

如果一定要用單引號(hào)來(lái)括整個(gè)字符串,可以用反斜杠 對(duì)引號(hào)進(jìn)行轉(zhuǎn)義:

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

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

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

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

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

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

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

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

1、長(zhǎng)字符串

要表示跨越多行的字符串,可以使用三引號(hào)''' ... '''或三個(gè)雙引號(hào)""" ... """,這讓Python解釋器能夠識(shí)別表示字符串開(kāi)始和結(jié)束的位置,字符串本身包含的單引號(hào)和雙引號(hào),不用使用反斜杠進(jìn)行轉(zhuǎn)義。

>>> 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

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

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

2、原始字符串

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

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

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

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

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

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

通過(guò)上面?zhèn)z實(shí)例能看出來(lái),原始字符串用r''表示' '這對(duì)單引號(hào)內(nèi)的字符串,不進(jìn)行轉(zhuǎn)義。

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

還有需要注意的是原始字符串不能以反斜杠結(jié)尾,因?yàn)镻ython解釋器無(wú)法判斷字符串是否到此結(jié)束

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

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

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

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

后面要是能用到再補(bǔ)上。

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

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python轉(zhuǎn)義字符及用法
Python3 注釋 | 菜鳥(niǎo)教程
Python注釋(多行注釋和單行注釋)用法詳解
【Python基礎(chǔ)】python 注釋、變量、類型
Python字符串中的引號(hào)和空格
說(shuō)說(shuō)Python 單引號(hào)、雙引號(hào)、三引號(hào)的區(qū)別?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服