Python - 类型提示中的花括号

时间:2017-08-01 22:52:07

标签: python pycharm type-hinting

这些是什么意思?

 def f(a: {int, float}):
    pass

我在通过PyCharm获取文档时看到了一些标准Python模块中使用的这种语法,我不知道它意味着什么。在我的例子中,a的暗示类型是什么?我可以将哪些类型传递给此函数?

我见过的具体示例是tkinter的{​​{1}} Frame方法,其中__init__参数的类型为master

1 个答案:

答案 0 :(得分:9)

这是一个提示告诉你它想要一个具有命名属性'int'和'float'的对象 - 或者更具体地说是tkinter'tk'和'_w'

我在pycharm编写了一个最小的例子:

enter image description here

查看python库sources - 您可以看到尝试访问master.tkmaster._w。这就是pycharm能够推断出参数master的类型所以它以这种方式将它浮动到IDE。