- 字串字面常數 (string literal)
- 字節字面常數 (bytes literal)
- 整數字面常數 (integer literal)
- 浮點數字面常數 (floating-point literal)
- 複數字面常數 (imaginary literal)
字串字面常數
凡是以單引號或雙引號為起來的 Unicode 字元都是字串字面常數,如
"Hello" "333-3333" '王小明' "おはよう" ''
最後用兩個單引號夾住的字串,這是一個沒有包含任何元素 (element) 的空字串。字串中可包含多個元素,每個元素被稱為字元 (character) ,每個字元都屬於 Unicode 符號,並且可以從字串中取出個別字元,或是將字串拆解成子字串。
注意,從原本的字串取出字元或子字串,雖然我們用了字元這個詞,但沒有字元這種物件,因此就算僅含有一個字元仍是字串。同時字串被建立後,字串的內容不可作更動,因為字串是不可變的 (immutable) ,這是說,我們可以把取出的字元或子字串放到另一個變數之中。
字串 (string) 中可以使用跳脫序列 (escape sequence) ,可以表示一些不可見字元,如下表
| 跳脫序列 | 功能 |
|---|---|
| \\ | 反斜線 |
| \' | 印出單引號 |
| \" | 印出雙引號 |
| \a | 警示聲 |
| \b | 倒退鍵 |
| \f | 跳頁 \u000c |
| \n | 印出新列 |
| \r | 歸位符號 |
| \t | tab 鍵 |
| \v | 重直定位鍵 |
| \ooo | 八進位數字的 Unicode 符號 |
| \xhh | 十六進位數字的 Unicode 符號 |
字節字面常數
字節字面常數是在單引號或雙引號前面加上 b 或 B 的前綴,如
b"Hello" b"333-3333" b'abc'
跟字串很像,但字節字面常數裡頭所儲存的是 ASCII 編碼的整數值。
整數字面常數
凡是以數字出現的都為十進位的 (decimal) 整數型態 (integral type) 的字面常數,如
1234 65 963 0
利用前綴可以將整數常數表示為八進位 (octal) 或十六進位 (hexadecimal)
| 前綴 | 種類 |
|---|---|
| 0o, 0O | 八進位 |
| 0x, 0X | 十六進位 |
如
0o65 //等同十進位數字53 0o77 //等同十進位數字63 0x65 //等同十進位數字101 0xff //等同十進位數字255
浮點數字面常數
凡是以帶小數點的數字都為浮點數型態 (floating-point type) 的字面常數,如
0.125 22.69896 101.002 33.
浮點常數也可以用科學記號的方法來表示,如
1.125e-1 3.521e4 5.1203E2 1e2
字母 e 前後分成兩部份,如第一個數字

e 之前的 1.125 是標準化後的數字, e 之後的數字則為 10 的次方數,因此,這個數字會等於 1.125×10-1 。
複數字面常數
利用後綴 j 或 J 可表示複數中的虛數,如下
1 + 5j 3 - 7j 6 - 8J 12 + 10J
| 中英文術語對照 | |
|---|---|
| 字面常數 | literal |
| 字串字面常數 | string literal |
| 字節字面常數 | bytes literal |
| 整數字面常數 | integer literal |
| 浮點數字面常數 | floating-point literal |
| 複數字面常數 | imaginary literal |
| 資料型態 | data type |
| 元素 | element |
| 字元 | character |
| 不可變的 | immutable |
| 字串 | string |
| 跳脫序列 | escape sequence |
| 十進位的 | decimal |
| 整數型態 | integral type |
| 八進位 | octal |
| 十六進位 | hexadecimal |
| 浮點數型態 | floating-point type |
參考資料
http://docs.python.org/py3k/reference/lexical_analysis.html
http://www.python.org/dev/peps/pep-0358/
http://docs.python.org/py3k/reference/lexical_analysis.html
http://www.python.org/dev/peps/pep-0358/
1 則留言:
串列 list 的字面常數寫法使用中括弧,例如
a = [1, 2, 3, 4, 5]
序對 tuple 的字面常數寫法使用小括弧,例如
b = (1, 2, 3, 4, 5)
集合 set 的字面常數寫法使用大括弧,例如
c = {1, 2, 3, 4, 5}
字典 dictionary 的字面常數同樣使用大括弧,例如
d = {1:1, 2:2, 3:3, 4:4, 5:5}
張貼留言