Python函数中的类型规范
我相信可以在Python中指定类型,如下所述: 我正在使用从上一页修改的以下简单函数:Python函数中的类型规范,python,Python,我相信可以在Python中指定类型,如下所述: 我正在使用从上一页修改的以下简单函数: def greeting(name: str) -> str: print("From inside function.") return 'Hello ' + name 正如所料,当字符串作为参数发送时,它会工作。但是,当使用整数作为参数时,它仍然到达函数内部,并且在return语句级别抛出错误: > print(greeting(55)) From inside functi
def greeting(name: str) -> str:
print("From inside function.")
return 'Hello ' + name
正如所料,当字符串作为参数发送时,它会工作。但是,当使用整数作为参数时,它仍然到达函数内部,并且在return
语句级别抛出错误:
> print(greeting(55))
From inside function.
Traceback (most recent call last):
File "testing.py", line 16, in <module>
print(greeting(55))
File "testing.py", line 13, in greeting
return 'Hello ' + name
TypeError: Can't convert 'int' object to str implicitly
那么在函数头中有类型规范有什么好处呢
def greeting(name: str) -> str:
Python是动态类型的;在运行时,
name
可以是任何值。函数注释只提供类型提示,Python本身会忽略这些提示,但其他工具可以用于静态类型检查。也就是说,在运行时,问候语(4)
是完全合法的(但当您尝试评估'Hello'+4
时会导致运行时错误)。然而,像这样的工具会将问候语(4)
标记为错误,因为4
确实不是您所说的name
应该采用的str
将类型提示视为可解析和可机器检查的注释
-这些提示适用于人类和解释器以外的工具。
def greeting(name: str) -> str: