Python - 类型提示中的花括号

Enn*_*ael 17 python type-hinting pycharm

这些是什么意思?

 def f(a: {int, float}):
    pass
Run Code Online (Sandbox Code Playgroud)

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

其中I已经看到了这个特定的例子是在tkinterFrame __init__方法,其中该master参数的类型的{tk, _w}.

Dou*_*urn 9

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

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

在此输入图像描述

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