python的def括号中的“ to:”关键字是什么?

时间:2019-08-11 04:52:48

标签: python function

当我在阅读《在Python 3中使用Asyncio》这本书时,我遇到了如下所示的def定义行。 def括号中有一个“ 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

1 个答案:

答案 0 :(得分:0)

to是常规函数参数,冒号表示no need(也称为注释)。这意味着to的类型应为Cutlery。默认情况下,不会选中这些注释,但是您可以通过在代码上运行type hint之类的第三方检查程序来进行检查。