# 零基礎學python-7.2 字符串常量
1.單雙引號字符串是一樣的
~~~
>>>?'abc',"abc"??
('abc',?'abc')??
>>>???
~~~
當你的python照著上面的例子來寫,這個時候單雙引號字符串是一樣的。兩者可以互換。
我們甚至可以在單雙引號直接引入對方
~~~
>>>?'abc"d',"abc'd"??
('abc"d',?"abc'd")??
~~~
在任意表達式中,python會自動合并相連的字符串,盡管它們之間沒有通過+連接
~~~
>>>?'abc"d',"abc'd"??
('abc"d',?"abc'd")??
~~~
還有,就像上面的幾個例子,在字符串中間加上逗號,最后形成的是元組而不是字符串
2.使用轉義字符表示特殊字符
~~~
>>>?a='abc\ndef\r'??
>>>?a??
'abc\ndef\r'??
>>>?print(a)??
abc??
def??
??
>>>???
~~~
看上面的例子,字符串之間加上轉義字符,如果我們直接用變量打印,他會把所有字符都打印出來,但是如果使用print打印,轉義字符會從原來的字符串變成二進制值,例如:\n代表制表符等等
常見的轉義字符:
| 轉義 | 意義 |
|---|---|---|
| \ | 連續,接著上面一行 |
| \\ | 反斜杠 |
| \' | 單引號 |
| \" | 雙引號 |
| \a | 響鈴 |
| \b | 倒退 |
| \f | 換頁 |
| \n | 換行 |
| \r | 返回 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \N{id} | unicode數據庫id |
| \uhhhh | unicode16位的十六進制值 |
| \Uhhhh | unicode32位的十六進制值 |
| \xhh | 十六進制值 |
| \ooo | 八進制值 |
| \0 | Null |
| \other | 不轉義 |
3.raw字符串抑制轉義
有很多時候我們需要打開文件等,那么就需要輸入路徑,特別是window的路徑,大多使用反斜杠,這個時候就會出現問題
例如:
` handler=open('c:\nb123.txt','w')??`
這個時候就出問題了,本來是打開nb123這個文本文件,但是由于前面有個反斜杠,在轉義當中是換行,引起歧義
所以,我們需要把路徑改成下面的樣子:
~~~
handler=open(r'c:\nb123.txt','w')??
handler=open('c:\\nb123.txt','w')??
~~~
這個時候就是合法的,使用r來抑制轉義,或者使用雙反斜杠
4.使用三重雙引號來輸入多字符串
~~~
>>>?a="""aaabbb?
ccdcdef'ddfdfd"""??
>>>?a??
"aaabbb\nccdcdef'ddfdfd"??
~~~
它常用于文檔字符串,或者注釋大段的代碼
就說到這里,謝謝大家
- 前言
- 零基礎學python-7.1 python中的字符串簡介與常用函數
- 零基礎學python-7.2 字符串常量
- 零基礎學python-7.3 字符串的一般使用
- 零基礎學python-7.4 修改字符串實例總結
- 零基礎學python-7.5 文本解析
- 零基礎學python-7.6 字符串格式化表達式
- 零基礎學python-7.7 字符串格式化方法(1)
- 零基礎學python-7.7 字符串格式化方法(2)
- 輕松python文本專題-單獨處理字符串每個字符的方法匯總
- 輕松python文本專題-字符與字符值轉換
- 輕松python文本專題-判斷對象里面是否是類字符串(推薦使用isinstance(obj,str))
- 輕松python文本專題-字符串對齊
- 輕松python文本專題-去掉字符串前后空格
- 輕松python文本專題-拼接、合并字符串
- 輕松python文本專題-字符串逐字符反轉以及逐單詞反轉
- 輕松python文本專題-maketrans和translate
- 輕松python文本專題-字符串開頭或者結尾匹配