Python __annotations__() 属性

251 阅读1分钟

PEP 3107中定义的注释允许你为函数的参数和返回值添加任意的元数据。一个函数对象的__annotations__ 属性将这些注释存储在一个字典 中, 函数参数或返回值映射 到指定的注释。

接下来让我们看一下几个例子。

参数注解

下面显示的是一个最小的例子,你为一个给定的函数的输入参数添加注释

def save(x: "starting capital",
         y: "annual return (e.g., 0.1 == 10%)",
         n: "number of years"):
    return x * (1+y)**n

# Investing $10,000 at 10% for 50 years
print(save(10000, 0.1, 50))
# 1173908.5287969578
# = $1.1 million USD

你可以使用函数的__annotations__ 属性来打印注释,save

print(save.__annotations__)
# {'x': 'starting capital', 'y': 'annual return (e.g., 0.1 == 10%)', 'n': 'number of years'}