Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何定义可调用参数的签名?_Python - Fatal编程技术网

Python 如何定义可调用参数的签名?

Python 如何定义可调用参数的签名?,python,Python,假设我有一个函数,它接受一个可调用的 def foo(条形): 印刷品(条形图(1,2)) 声明bar(…)接受两个int并返回str的最佳方法是什么? 除了文档之外,还有更明确的定义吗?Python是动态类型化的,这意味着解释器类型会在代码运行时进行检查,并且类型会随着时间的推移而变化 引入了类型提示。可以通过以下语法执行此操作: def bar( a: int, b: int) -> str: return def foo(bar: callable) -> Non

假设我有一个函数,它接受一个可调用的

def foo(条形):
印刷品(条形图(1,2))
声明
bar(…)
接受两个int并返回str的最佳方法是什么?
除了文档之外,还有更明确的定义吗?

Python是动态类型化的,这意味着解释器类型会在代码运行时进行检查,并且类型会随着时间的推移而变化

引入了类型提示。可以通过以下语法执行此操作:

def bar( a: int, b: int) -> str:
    return 

def foo(bar: callable) -> None:
    print(bar(1, 2))

typing
中的
Callable
类型允许您指定可调用值的参数类型和返回类型

from typing import Callable

def foo(bar: Callable[[int,int],str]):
    print(bar(1, 2))

注意,由于Python是动态类型化的,所以类型提示在某种程度上只是文档。但是,第三方工具(如
mypy
)可用于静态类型分析,以帮助确保代码不会传递错误类型的值。

请参阅和模块文档。使用
键入模块中的类型提示。转到关于bar的部分是由foo的用户提供的,我无法定义它。