【发布时间】:2021-01-19 22:45:46
【问题描述】:
我相信可以在 Python 中指定类型,如下所述:https://docs.python.org/3/library/typing.html
我正在使用以下从上一页修改的简单功能:
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):
那么在函数头中有类型说明有什么好处呢?
def greeting(name: str) -> str:
【问题讨论】:
-
"Python will remain a dynamically typed language" - 这些提示适用于人类,以及除解释器之外的工具。
标签: python