创建函数时,我通常指定其参数的数据类型,例如:
def my_func(name: str, surname: str) -> str:
full_name = name + surname
return full_name
但是如果函数的参数是另一个函数,它的数据类型是什么?
我试过这样做:
def my_func_2(func: function) -> str:
return func()
但是我得到
NameError: name function is not defined
你应该在模块typing
中找到一些有用的东西。
def my_func_2(func: typing.Callable) -> str:
最干净的解决方案是从模块中只导入Callable
,以防止函数原型太长。
from typing import Callable
def my_func_2(func: Callable) -> str: