我正在尝试在python中实现强类型遗传编程。
是否有类似这些样本的东西?
def funcA(a,b):
return a + b
return_type(funcA)
output: <class 'Integer'>
和
def funcA(a,b):
return a + b
parameter_type(funcA)
output: [<class 'Integer'>,<class 'Integer'>]
更新:
我正在尝试生成python的表达式,避免无法像这样评估某些内容:
funcA(20, funcA(True, "text"))
最佳答案
Python 3引入了函数注释。就他们自己而言,他们什么也没做,但是您可以编写自己的执行文件:
def strict(fun):
# inspect annotations and check types on call
@strict
def funcA(a: int, b: int) -> int:
return a + b