什么意思是两个点和args后的一个类:def func(value:str)

时间:2016-10-25 06:12:19

标签: python parameter-passing

我不明白arg: str意味着什么

def hello(arg: str):
    print(type(arg))
    print('do stuff!', arg)


hello('something')

我认为它是指定一个类型,但我试着打电话给你好,我没有任何异常。我尝试使用hello致电int,没有错误。

我做了一些测试,但我没有想出任何东西......

关于这是做什么的任何想法?

马特

1 个答案:

答案 0 :(得分:2)

你是对的 public override void TouchesBegan(NSSet touches, UIEvent evt) { base.TouchesBegan(touches, evt); Console.WriteLine($"Current types to scan: {this.MetadataOutput.MetadataObjectTypes}"); this.SetMetadataType(this.MetadataObjectType); Console.WriteLine($"New types to scan: {this.MetadataOutput.MetadataObjectTypes}"); } public void SetMetadataType(AVMetadataObjectType type) { //Confusing! *After* adding to session, tell output what to recognize... this.Session.BeginConfiguration(); this.MetadataOutput.MetadataObjectTypes = type; this.Session.CommitConfiguration(); } 确实为参数指定了一个类型。但在Python中,它只提供类型提示。这意味着您理论上可以将任何类型的实例传递给函数。类型提示对于开发和IDE非常有用,因为如果您将意外的参数传递给函数,它可以帮助程序通知您。

额外注意,这些类型提示存储在def hello(arg: str):

下的函数中
__annotations__