【问题标题】:What is "to:" keyword in python's def parenthesis? [duplicate]python def括号中的“to:”关键字是什么? [复制]
【发布时间】:2019-12-18 05:18:06
【问题描述】:

在阅读“在 Python 3 中使用 Asyncio”一书时,我遇到了一行 def 定义,如下所示。 def 括号中有 "to:" 关键字,这里的 ":" 似乎与 "=" 不同,但我无法弄清楚 ":" 是什么以及用于什么目的。

下面代码中的“to:”是什么?

@attrs
class Cutlery:
    knives = attrib(default=0)
    forks = attrib(default=0)

    def give(self, to: 'Cutlery', knives=0, forks=0):
        self.change(-knives, -forks)
        to.change(knives, forks)

    def change(self, knives, forks):
        self.knives += knives
        self.forks += forks

【问题讨论】:

  • 这意味着,参数to 应该是Cutlery 类型。它是一个类型注释。

标签: python function


【解决方案1】:

to是常规函数参数,冒号表示type hint(也叫注解)。这意味着to 应该是Cutlery 类型。默认情况下不会检查这些注释,但您可以通过在您的代码上运行诸如 mypy 之类的第三方检查器来进行检查。

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 2010-11-25
    • 2012-10-12
    • 1970-01-01
    • 2016-12-15
    • 2015-11-14
    • 2020-03-08
    • 2018-08-11
    相关资源
    最近更新 更多