欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Python类型检查

时间:2023-05-25

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': , 'b': , 'return': }

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。