型別標注可以標注函數、參數與變數的結果
使開發時更容易

有些編輯器會自動辨識型別標注,在用法錯誤時自動指出錯誤
減少錯誤的機率

但需注意的是,型別標注只是為了開發方便,可以清楚看出每一項變數或函數是什麼類別
實際上型別標注錯誤並不會在執行時有問題
除非像Discord機器人有特殊要求

印出型別

可以透過以下函數印出該內容的型別
以下功能測試時可使用

1
2
content = #內容
print(type(content))

變數

變數的標注方法,是在定義時加上冒號與類別
不經常用到,因為可以透過內容來辨識型別
若變數為函數結果,也可以透過函數的型別標注來辨認
除非該函數沒有型別標注

1
2
3
a:int = 1
b:str = "hello"
c:list = process(a)

函數

參數

此用法之前就用過,此處當複習

1
2
3
4
5
6
7
# 印出n次訊息
# 此處透過標注來限定number是整數,message是字串
def func(number:int, message:str):
print(message * number, end="\n")

func(3, "Correct") # 不會報錯
func(3, 5) # 會報錯

函數結果

我們也可以針對函數的結果標註

1
2
3
4
5
# 計算密度
def density(volume:int, mass:int) -> int:
return mass/volume

result = density(2,4)

此時會自動識別result是int,因為函數有標注返回的類別