常值
所謂 「常值」(Literal,或稱字面值),是指資料本身的值不需要經過宣告,直接寫在敘述中電腦就可以處理的數值或字串資料。例如數字 3、字串 'three'(在Python中字串表示也可以用雙引號括住,例如 "three")…等。這些常值在Python語言中是以物件來處理,Python提供常用的常值有:
- 整數常值用來表示整數。
- 布林常值只有
True和False兩種值,分別表示真和假。 - 浮點數常值是用來表示帶有小數點數字的資料。
- 字串常值是用來表示一連串的字元。
1. 整數常值
整數常值是指沒有帶小數位數的整數數值,例如 1、234、-56…。Python語言提供 十、二、八及十六進位制四種方式,來處理整數常值。
- 十進位制:程式中十進制數值的表示方式和一般習慣相同,程式中的數字會預設為十進制的int整數資料,例如123。
- 二進位制:以
0b開頭和數字0和1所組成,例如0b1011。 - 八進位制:以
0o開頭和數字0 ~ 7所組成,例如0o173。 - 十六進位制:以
0x開頭和數字0 ~ 9和字母a ~ f所組成,例如0x7b。
【例】分別使用十、二、八和十六進制,來顯示整數常值12:(檔名:int.py)print(12) # 以十進制顯示 → 12 print(0b1100)# 以二進制顯示 → 12 print(0o14) # 以八進制顯示 → 12 print(0xC) # 以十六進制顯示 → 12
2. 布林常值
布林常值只有 True 和 False 兩種值,True代表真、False代表假。
3. 浮點數常值
- 浮點數常值又稱為實數常值,當需要用到帶小數點的數值時,就要使用浮點數常值。
- 浮點數有兩種表示方式,一種是常用的小數點表示法,例如
3.14159。 - 另一種是科學記號,例如
1.2345e2(即123.45)。
【例】使用小數點和科學記號顯示各種浮點數常值: (檔名:float.py)print(12.345) # 顯示浮點數常值 12.345 的值 → 12.345 print(1.2345e2) # 顯示浮點數常值 1.2345e2 的值 → 123.45 print(1.2345e8) # 顯示浮點常值 1.2345e8 的值 → 123450000.0 print(1.2345e-2) #顯示浮點數常值 1.2345e-2 的值 → 0.012345
4. 複數常值
在程式語言(例如 Python)中,這裡的複數(Complex Number)就是我們在數學中所學的「複數」,用來表示包含**實部(Real Part)與虛部(Imaginary Part)**的數值。
在數學上,我們通常將虛數單位記為 (滿足 ),複數記為 。
但在程式(如 Python、MATLAB 等)中,為了避免與變數 i 混淆,虛數單位一律使用 j(或大寫 J)來表示,格式寫作:實部 + 虛部j。
【例】定義一個複數 3 + 4j
# 定義一個複數 3 + 4j
c = 3 + 4j
# 取得實部 (real)
print(c.real) # 輸出: 3.0
# 取得虛部 (imag)
print(c.imag) # 輸出: 4.05. 字串常值
- 字串常值是由一個或一個以上的字元所組成,頭尾使用單引號 「‘」或雙引號「“」括住。在
Python中字串常值是屬於str類別。 - 字串串接: 使用
+串接兩個字串。 - 字串索引: 字串中每個字元都有一個位置,索引值從
0開始
【例】顯示字串常值: (檔名:str.py)
print('Python') # 顯示字串常值 'Python' → Python
print("3.8") # 顯示字串常值 "3.8" → 3.8
print("This's a book.") # 字常值中有單引號時用"..." → This's a book.
print('"Hi!" says Jack.') # 字串常值中有雙引號時用 '...' → "Hi!" says Jack.
a = "012345"
print(a[0]) # 輸出 0
-
字串切片(String Slicing): 指的是擷取字串中某個特定範圍的子字串。例如
flavor[0:3]。
在Python中,字串切片的語法為[start:end]:start(起點):包含該索引位置的字元(Inclusive)。end(終點):不包含該索引位置的字元(Exclusive),切片會在前一個位置停止。

【例】
flavor = "fig pie" print(flavor[0:3]) # 輸出: `fig` print(flavor[3:7]) # 輸出: ` pie` print(flavor[3:]) # 輸出: ` pie` <=> flavor[3:7] print(flavor[:]) # 輸出: `fig pie` print(flavor[:14]) # 輸出: `fig pie` 不會報錯 print(flavor[13:15]) # 輸出: `` 不會報錯 print(flavor[-7:-4]) # 輸出: `fig` print(flavor[-7:0]) # 輸出: `` # 等同於 flavor[0:0],`-7` 和 `0` 都只到同一個位置,自然傳回空字串 print(flavor[-7:]) # 輸出: `fig pie` print(flavor[-3:]) # 輸出: `pie`字串
flavor = "fig pie"的長度是 。當我們把負數索引轉換為正數索引時:- 起點
-7:加上字串長度 之後,,所以-7對應的就是正數索引0(字元'f')。 - 終點
0:原本就是正數索引0。
-
字串字面值 (String Literal): 這個詞通常是英文 String Literal 的直譯(有時也譯作字串常值、字串字面量或字串直譯值)。它指的是在程式碼中直接用單引號或雙引號寫出來的「字串值本身」,是建立字串物件的一種語法,字串字面值是不可改變的。
【例】
word = "goal" # word[0] = "f" # 報錯,字串為不可變物件 word = "f" + word[1:] print(word) # 輸出 foal字串本身的值不能被改變,但可以將一個全新的值重新指派給變數。
相關主題與延伸閱讀
- 1. 內建資料型別:常值就是用來建立各種內建資料型別物件的基礎。
- 3. 變數與資料型別:常值通常會被指定給變數,兩者是相輔相成的基本概念。
- 4. 運算子:常值與變數搭配運算子即可組成完整的運算式。
- 1. 字串資料型別:字串常值的完整介紹,包含多行字串與逸出字元等進階用法。