from typing import get_type_hints# 函数参数和返回值的类型的声明def add(a : int , b :int) -> int: validate_input(add, a = a, b =b) return a + b# **kwargs 打包关键字参数成dict给函数体调用def validate_input(obj, **kwargs): hints = get_type_hints(obj) for para_name , para_type in hints.items(): if para_name == "return": continue # isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 if not isinstance(kwargs[para_name], para_type): raise TypeError("参数:{}类型错误,应该是{}".format(para_name, para_type))if __name__ == '__main__': print(add(1,2)) print(add("hello", "18")) print(add.__annotations__) print(get_type_hints(add)) #{'a':
Python类型检查
时间:2023-05-25
下一篇:Python数据分析与展示第一课
相关推荐