使用引號定義的一組能夠包含數字,字母,符號(非特殊系統符號)的集合。python
如:
app
Strval=「This is a test!」 Strval1='This is a test!' Strval2="""This is a test"""
Python三重引號容許字符串跨越多行,包括逐字換行符,製表符和其餘特殊字符。函數
三重引號語法由三個連續的單引號或雙引號。this
#!/usr/bin/python para_str = """this is a long string that is made up of several lines and non-printable characters such as TAB ( \t ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ \n ], or just a NEWLINE within the variable assignment will also show up. """ print para_str;
當執行上面的代碼中,產生如下結果。請注意如何每個特殊字符被轉換到打印形式,一直到最後的換行符之間的字符串「up」結束閉三重引號。還要注意的是發生或者使用顯式回車在一行或它的轉義代碼(\ n)的尾部的換行:spa
this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up.
須要注意的是,python會認爲 成對的引號之間的內容爲字符串內容。code
以下面的例子 會有語法錯誤
索引
say=’let‘s go’ File "<stdin>" , line1 say=’let‘s go’ ^ SyntaxError:invalid syntax
正確的作法是ci
若是隻包含單引號: 使用雙引號來包含字符串字符串
若是包含單引號,雙引號: 使用雙引號來包含字符串,而且字符串內的雙引號用轉義字符 \ 來轉義
string
say=「let‘s \" go」
下表是未轉義非打印字符的列表,能夠用反斜線符號來表示。
轉義字符被解釋;在一個單引號和雙引號字符串。
反斜線 符號 |
十六進制 字符 |
描述 |
---|---|---|
\a | 0x07 | 鈴聲或警報 |
\b | 0x08 | 退格鍵 |
\cx | Control-x | |
\C-x | Control-x | |
\e | 0x1b | 轉義 |
\f | 0x0c | 換頁 |
\M-\C-x | Meta-Control-x | |
\n | 0x0a | 新一行 |
\nnn | 八進制表示法,其中n的範圍爲0.7 | |
\r | 0x0d | 回車 |
\s | 0x20 | 空格 |
\t | 0x09 | Tab鍵 |
\v | 0x0b | 垂直製表 |
\x | 字符x | |
\xnn | 十六進制表示法,其中n的範圍是從0.9,a.f,或AF |
操做符 | 描述 | 例子 a= Hello b=Python |
---|---|---|
+ | 串聯- 對操做符的兩側值增長 | a + b 的值爲 HelloPython |
* | 重複 - 建立新的字符串,連接相同的字符串的多個副本 | a*2 的值爲 -HelloHello |
[] | 切片- 從給定的索引字符指定 | a[1] 的值爲 e |
[ : ] | 範圍切片 - 給定的範圍內的字符 能夠給定三個值,起始索引,結束索引,步長值 結束值的索引以前的會被取出來 省略起始索引,從0開始 省略結束索引,到末尾。 若是索引值爲負數的話,則從末尾開始 步長值則表示,在切片範圍取值的時候沒間隔多少個字符串取出一個字符,默認值爲1 若是步長值爲負數也可表示 從右往左取 |
a[1:4] 的值爲 ell a[:4]的值爲Hell a[1:]的值爲ello a[-4:-1]的值爲ello a[::2]的值Hlo |
in | 成員 - 若是一個字符存在給定的字符串中,則返回true | H in a 結果值爲 1 |
not in | 成員 - 若是輸入的字符不給定的字符串中不存在,則返回true | M not in a 結果值爲 1 |
r/R | 原始字符串- 禁止轉義字符的實際意義。語法原始字符串是徹底同樣的普通字符串,除了原始的字符串運算符,字母「r」,這以前的引號。在「r」能夠小寫(r)或大寫字母(R)的,必須當即放置在第一引號前面。 | print r'\n' 打印 \n 而且 print R'\n' 打印 \n |
Python最酷的功能是字符串格式運算符%。這種操做是惟一的字符串,彌補了C語言的printf()系列函數功能。下面是一個簡單的例子:
#!/usr/bin/python print "My name is %s and weight is %d kg!" % ('Zara', 21)
當執行上面的代碼中,產生如下結果:
My name is Zara and weight is 21 kg!
下面是完整的,它能夠與%符號使用列表:
格式符號 | 轉換 |
---|---|
%c | 字符 |
%s | 經過str() 字符串轉換來格式化 |
%i | 有符號十進制整數 |
%d | 有符號十進制整數 |
%u | 無符號十進制整數 |
%o | 八進制整數 |
%x | 十六進制整數(小寫字母) |
%X | 十六進制整數(大寫字母) |
%e | 索引符號(小寫'e') |
%E | 索引符號(大寫「E」) |
%f | 浮點實數 |
%g | %f和%e 的簡寫 |
%G | %f和%E的簡寫 |
其餘支持的符號和功能以下表:
符號 | 功能 |
---|---|
* | 參數指定寬度和精度 |
- | 左對齊 |
+ | 顯示符號 |
<sp> | 一個正數前留一個空格 |
# | 添加前導零('0')或十六進制前導0x「或」0X「,取決於」x「或」X「是否使用八進制。 |
0 | 從鍵盤左邊添加零(而不是空格) |
% | '%%'給留下一個文字'%' |
(var) | 映射變量(字典參數) |
m.n. | m是最小的總寬度和n是數字,顯示小數點後的位數(若是appl) |
在Python普通字符串在內部存儲爲8位ASCII,而Unicode字符串被做爲16位Unicode存儲。這使得一組字符更加多樣化,包括大多數語言在世界上的特殊字符。限制處理Unicode字符串
#!/usr/bin/python print u'Hello, world!'
當執行上面的代碼,產生如下結果:
Hello, world!
正如你所看到的,Unicode字符串使用前綴 u,就像原始字符串使用前綴 r