[Py 百日馬 Day 2] Data Types


Posted by Laihan on 2022-01-11

常見型別

如果要知道資料的型別可以使用 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:

  1. 數 C 在 "ABCDE" 中的第幾個。
  2. 把 [] 放在字串尾,然後在括號內寫他是第幾個。
  3. 注意電腦是從 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 布林值

TrueFalse,請注意 T 跟 F 字要大寫且沒有引號夾住,用來驗證事情是否屬實 (真或假)。

型別錯了那就轉換吧

在寫程式碼時要注意型別的使用,如果用錯了他會跳 TypeError
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
ValueError 範例

電腦世界裡的加減乘除

加、減、乘、除、等號是運算子 (Operator) 的一員,運算子有很多種,這裡先介紹數學運算會用到的

算數運算子 (Arithmetic Operator)

功能 餘數 次方
運算子 + - * / % // **
範例 a + b a - b a * b a / b a % b a // b a ** b

優先權 PEMDAS

PEMDAS 就是英文版的先乘除後加減,括號優先,同級的話由左至右

  1. Parentheses(括號)
  2. Exponents(指數)
  3. Multiplication(乘)/ Division(除)
  4. 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

#Python







Related Posts

透過減少 ttf 字體檔案大小來增進網頁效能

透過減少 ttf 字體檔案大小來增進網頁效能

Day 02 任務

Day 02 任務

CSS transform property

CSS transform property


Comments