Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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,我相信可以在Python中指定类型,如下所述: 我正在使用从上一页修改的以下简单函数: def greeting(name: str) -> str: print("From inside function.") return 'Hello ' + name 正如所料,当字符串作为参数发送时,它会工作。但是,当使用整数作为参数时,它仍然到达函数内部,并且在return语句级别抛出错误: > print(greeting(55)) From inside functi

我相信可以在Python中指定类型,如下所述:

我正在使用从上一页修改的以下简单函数:

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: