Python 的函數註釋

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')
相關文章
相關標籤/搜索