特别是“:int”部分……
我假设它在调用函数时以某种方式检查了参数的类型,并且可能在违规的情况下引发异常.但是以下运行没有问题:
def some_method(param:str):
print("blah")
some_method(1)
def some_method(param:int):
print("blah")
some_method("asdfaslkj")
在这两种情况下都会打印出“blah” – 没有例外.
我不确定该功能的名称是什么,所以我不确定要google什么.
编辑:好的,所以它是http://www.python.org/dev/peps/pep-3107/.我可以看到它在利用元数据的框架中是如何有用的.这不是我想象的那样.谢谢你的回复!
后续问题 – 如果我真的只能处理int输入,那么将我的函数定义为def some_method(param:int)是否是一个好主意或坏主意的任何想法 – 即使如pep 3107解释的那样,它只是元数据 – 没有我最初假设的执法?至少方法的消费者会清楚地看到我的意图.它是文档的替代品.认为这是好/坏/浪费时间?当然,良好的参数命名(与我的设计示例不同)通常会明确表示要传递的类型.