变量参数中带有冒号的Python函数
我正在阅读MITMProxy文档,遇到了这个Python示例变量参数中带有冒号的Python函数,python,mitmproxy,Python,Mitmproxy,我正在阅读MITMProxy文档,遇到了这个Python示例 from mitmproxy import http def request(flow: http.HTTPFlow): # redirect to different host if flow.request.pretty_host == "example.com": flow.request.host = "mitmproxy.org" # answ
from mitmproxy import http
def request(flow: http.HTTPFlow):
# redirect to different host
if flow.request.pretty_host == "example.com":
flow.request.host = "mitmproxy.org"
# answer from proxy
elif flow.request.path.endswith("/brew"):
flow.response = http.HTTPResponse.make(
418, b"I'm a teapot",
)
我以前从未在这样的函数参数中看到冒号。有人能解释一下它在做什么,以及我如何能了解更多信息吗?非常感谢@alani和@RufusVS,他们正确地指出了这些是类型提示 一些我从未遇到过的东西,我能够在这里和这里读到更多
再次感谢您的及时回复 这可能会有所帮助-这些是“类型提示”。它们在您的程序中没有实际的功能,除了代码分析器(以及使用您的代码的程序员)的文档和标志。感谢您的回答,谜团已经解决!这些是“函数注释”,其目的是充当类型提示,这可能会引起争议。函数注释的形式为
def foo(param:“Function”)->“annotation:
,其中“Function”
和“annotation”
都是有效的Python表达式。