常見型別
如果要知道資料的型別可以使用 type()
。
type("string") # <class 'str'>
type(123) # <class 'int'>
type(3.14159) # <class 'float'>
type(Ture) # <class 'bool'>
String (字串)
用引號夾住的字句,如 "I'm a string.",以下是幾個常見的操作:
len()
可以獲取 string
的長度。
print(len("ABCDE")) # 5
print(len("ABC DE")) # 6
方括號 []
可以用來擷取字串,假設要取得 "ABCDE" 中的 C:
- 數 C 在 "ABCDE" 中的第幾個。
- 把 [] 放在字串尾,然後在括號內寫他是第幾個。
- 注意電腦是從 0 開始數的。
print("ABCDE"[0]) # "A"
print("ABCDE"[2]) # "C"
print("ABCDE"[1:3]) # "BC"
加號 +
可以串接字串;乘號 *
可以重複字串。
print("ABCDE" + "_XYZ") # "ABCDE_XYZ"
print("ABC"*2) # "ABCABC"
Int 整數
沒有小數點的數字,如:123、0、-789;請勿用引號夾住數字。
print(100 + 11) # 111
print("100" + "11") # 10011
type("100") # <class 'str'>
如果是一個很大的數字,像 100000000,會為了方便閱讀會寫成 100,000,000,在 Python 中可以用下底線來取代逗號,電腦會忽略下底線。
print(100000000) # 100000000
print(100_000_000) # 100000000
print(100,000,000) # 100, 0 , 0;變成三組數字
print("100,000,000") # "100,000,000";變成字串
Float 浮點數
就是有小數點數字,如: 3.14159、84544.00。
Boolean 布林值
True
或 False
,請注意 T 跟 F 字要大寫且沒有引號夾住,用來驗證事情是否屬實 (真或假)。
型別錯了那就轉換吧
在寫程式碼時要注意型別的使用,如果用錯了他會跳 TypeError
上述例子的 TypeError
告訴你字串與數字不能相加,解決方法方式是先將型別轉成 string
再相加
num_char = len(input("What is your name? "))
new_num_char = str(num_char)
print("My name has " + new_num_char + " characters.")
但如果你懶得轉 string
再相加,可以使用 f-string (Literal String Interpolation),在既有字串前面加上 f,然後以花括弧夾住非字串的東西
num_char = len(input("What is your name? "))
print(f"My name has {num_char} characters.")
常見型別的轉換方法:
# str() 轉成字串
pi = str(3.14)
print(type(pi)) # <class 'str'>
# int() 轉成整數,會無條件捨去
print(int(3.14)) # 3
print(int(5.94)) # 5
# float() 轉成浮點數
print(float(3)) # 3.0
# bool() 轉成布林值
print(bool(0)) # False
print(bool(1)) # True
要注意的是,如果本來的值沒辦法被轉換的話也會報錯,此時的錯誤為 ValueError
電腦世界裡的加減乘除
加、減、乘、除、等號是運算子 (Operator) 的一員,運算子有很多種,這裡先介紹數學運算會用到的
算數運算子 (Arithmetic Operator)
功能 | 加 | 減 | 乘 | 除 | 餘數 | 商 | 次方 |
---|---|---|---|---|---|---|---|
運算子 | + | - | * | / | % | // | ** |
範例 | a + b | a - b | a * b | a / b | a % b | a // b | a ** b |
優先權 PEMDAS
PEMDAS 就是英文版的先乘除後加減,括號優先,同級的話由左至右
- Parentheses(括號)
- Exponents(指數)
- Multiplication(乘)/ Division(除)
- Addition(加)/ Subtraction(減)
指定運算子 (Assignment Operator)
除了基本的等號外,還可以將 x = x + 1 改寫成 x += 1,得到的答案會是一樣,這裡只列出其中幾項
運算子 | = | += | -= | *= | /= |
---|---|---|---|---|---|
範例 | a = b | a += b | a -= b | a *= b | a /= b |
等效於 | a = b | a = a + b | a = a - b | a = a * b | a = a / b |
數字操作
除法運算後會得到浮點數,即便可以被整數。
print(4/2) # 2.0
round()
可以四捨五入。
x = 2.66666666666
print(round(x)) # 3
print(round(x, 2)) # 2.67