Python 3.x 引入了函式註釋,以增強函式的註釋功能,下面是一個普通的自定義函式:
def dog(name, age, species):
return (name, age, species)
新增了註釋的自定義函式:
def dog(name:str, age:(1, 99), species:'狗狗的品種') -> tuple:
return (name, age, species)
如上,可以使用:
對引數逐個進行註釋,註釋內容可以是任何形式,比如引數的型別、作用、取值範圍等等,返回值使用->
標註,所有的註釋都會儲存至函式的屬性。
檢視這些註釋可以通過自定義函式的特殊屬性__annotations__
獲取,結果會議字典的形式返回:
dog.__annotations__
# {'age': (1, 99), 'name': str, 'return': tuple, 'species': '狗狗的品種'}
另外,使用函式註釋並不影響預設引數的使用:
def dog(name:str ='dobi', age:(1, 99) =3, species:'狗狗的品種' ='Labrador') -> tuple:
return (name, age, species)
執行結果:
dog()
# ('dobi', 3, 'Labrador')