Skip to content

型別 Type

tags: python

當我們宣告一個變數purchaseOfCoke = 100,把滑鼠放上去會看到int: purchaseOfCoke 前面的int代表「integer(整數)」,也就是說,purchaseOfCoke是一個「整數型別的變數」。 你可以用type()看到某個變數是什麼型別:

python
purchaseOfCoke = 100
supplier = "Cokecola"
print(type(purchaseOfCoke))
print(type(supplier))
print(type(0.12))
# output:
# int
# str
# float

其中,str代表「string(字串)」、float代表「浮點數(小數)」。 python是「弱型別」的程式語言,簡言之,你不用特地告訴他你要用的變數是什麼型態,甚至你可以將一個變數從整數變成字串也是沒問題的。 (會這麼說是因為在滿多程式語言,這麼做都是會出錯的!)

那麼型別的意義在哪裡呢? 例如,你可能會討論一個整數的個十百千萬位,但不會討論一個字串的個十百千萬位。取而代之,你可能會想討論一個字串的長度、是否包含其他的字串。 例如,數字可以進行加減乘除的運算,但字串不行。

python
print(3*5)
# output: 15

print("abc" * 3)
# output: abcabcabc

print("abc" / 3)
# TypeError: unsupported operand type(s) for /: 'str' and 'int'

在python中,將字串進行乘法,會將該字串重複。但是如果進行除法,則會出現「TypeError」,代表型別上的錯誤。 TypeError: unsupported operand type(s) for /: 'str' and 'int'表示:不支援「/(除法)」在「字串」及「整數」間的運算。

Try it

試著對整數、浮點數(小數)、字串進行不同的運算,觀察他的結果。如果出現錯誤,請試著解讀他的錯誤,想想為什麼會報錯。