Python 3.x 引入了函數註釋,以加強函數的註釋功能,下面是一個普通的自定義函數:函數
def dog(name, age, species): return (name, age, species)
添加了註釋的自定義函數:code
def dog(name:str, age:(1, 99), species:'狗狗的品種') -> tuple: return (name, age, species)
如上,能夠使用:
對參數逐個進行註釋,註釋內容能夠是任何形式,好比參數的類型、做用、取值範圍等等,返回值使用->
標註,全部的註釋都會保存至函數的屬性。
查看這些註釋能夠經過自定義函數的特殊屬性__annotations__
獲取,結果會議字典的形式返回:ci
dog.__annotations__ # {'age': (1, 99), 'name': str, 'return': tuple, 'species': '狗狗的品種'}
另外,使用函數註釋並不影響默認參數的使用:io
def dog(name:str ='dobi', age:(1, 99) =3, species:'狗狗的品種' ='Labrador') -> tuple: return (name, age, species)
運行結果:註釋
dog() # ('dobi', 3, 'Labrador')