下面Python代码中的冒号是做什么的?

下面Python代码中的冒号是做什么的?,python,colon,Python,Colon,此代码来自python教程文档-: 我不知道“火腿”和“鸡蛋”后面的冒号(:)是什么意思。请给我解释一下。这基本上是一种向函数参数和/或返回值添加任意元数据的方法--卢卡斯·格拉夫 它实际上只是一种将对象附加到函数、参数和其他东西的方法。您可以将其用于文档编制、验证或只是添加无意义的数据--戳 另见: 直接从文档中获取: 函数注释是完全可选的任意元数据 有关用户定义函数的信息。Python本身和 标准库以任何方式使用函数注释;本节 只显示语法。第三方项目可以自由使用该功能 用于文档、类型检查和其

此代码来自python教程文档-:


我不知道“火腿”和“鸡蛋”后面的冒号(
)是什么意思。请给我解释一下。

这基本上是一种向函数参数和/或返回值添加任意元数据的方法--卢卡斯·格拉夫

它实际上只是一种将对象附加到函数、参数和其他东西的方法。您可以将其用于文档编制、验证或只是添加无意义的数据--戳

另见:

直接从文档中获取:

函数注释是完全可选的任意元数据 有关用户定义函数的信息。Python本身和 标准库以任何方式使用函数注释;本节 只显示语法。第三方项目可以自由使用该功能 用于文档、类型检查和其他用途的注释

注释存储在 作为字典使用,不影响本手册的任何其他部分 功能。参数注释由后面的冒号定义 参数名称,后跟计算为 注释。返回注释由文本
->
定义, 后跟一个表达式,位于参数列表和冒号之间 表示
def
语句的结尾。下面的示例有一个 位置参数、关键字参数和返回值 胡说八道:

>>> def f(ham: 42, eggs: int = 'spam') -> "Nothing to see here":
...     print("Annotations:", f.__annotations__)
...     print("Arguments:", ham, eggs)
...
>>> f('wonderful')
Annotations: {'eggs': <class 'int'>, 'return': 'Nothing to see here', 'ham': 42}
Arguments: wonderful spam
>>def(ham:42,eggs:int='spam')->“这里没什么可看的”:
...     打印(“注释:,f.\uuuuu注释”)
...     打印(“参数:”,火腿,鸡蛋)
...
>>>f(“太棒了”)
注释:{'eggs':,'return':'Nothing to see here','ham':42}
论点:很棒的垃圾邮件

嗯,你已经链接到文档中解释它的部分了?不是说你是个混蛋,但答案确实在你提供的链接中。函数批注是关于用户定义函数的完全可选的任意元数据信息。Python本身和标准库都不以任何方式使用函数批注;本节仅显示语法。第三方项目可以在文档、类型检查和其他用途中自由使用函数批注这个问题似乎与主题无关,因为答案是在问题本身中链接的。另请参见。如果有帮助,这似乎是Python的一个相对较新的功能-2.x不支持它。这是OP已经链接到的文档的逐字剪切和粘贴。是的。结合有用的评论和相关的、更有用的政治公众人物链接。谢谢,我现在收到了。PEP-3107文件非常详尽!
>>> def f(ham: 42, eggs: int = 'spam') -> "Nothing to see here":
...     print("Annotations:", f.__annotations__)
...     print("Arguments:", ham, eggs)
...
>>> f('wonderful')
Annotations: {'eggs': <class 'int'>, 'return': 'Nothing to see here', 'ham': 42}
Arguments: wonderful spam