Python-类型提示中的花括号
问题内容:
这些是什么意思?
def f(a: {int, float}):
pass
通过PyCharm提取文档时,我已经在某些标准Python模块中使用了这种语法,但我不知道它的含义。a
我的示例中提示的类型是什么?我可以将哪些类型传递给该函数?
我看到过的特定示例是intkinter
的Frame
__init__
方法,其中master
参数的类型是{tk, _w}
。
问题答案:
提示您告诉您它想要一个具有命名属性’int’和’float’的对象-或更具体地说,用于tkinter’tk’和’_w’
我在pycharm中编写了一个最小的示例:
检查python库源代码-您可以看到尝试访问master.tk
和master._w
。pycharm能够推断出参数主类型的全部内容,因此它以这种方式将其浮动到IDE中。