Python-类型提示中的大括号
这些是什么意思Python-类型提示中的大括号,python,pycharm,type-hinting,Python,Pycharm,Type Hinting,这些是什么意思 def f(a: {int, float}): pass 在通过PyCharm获取文档时,我在一些标准Python模块中看到过这种语法,但我不知道它的含义。在我的示例中,a的提示类型是什么?我可以传递给此函数的类型是什么 我在tkinter的Frame\uuu init\uuuuu方法中看到了一个特殊的例子,其中master参数的类型为{tk,\u w}它是一个提示,告诉您它需要一个具有命名属性“int”和“float”的对象,或者更具体地说是tkinter“tk”和
def f(a: {int, float}):
pass
在通过PyCharm获取文档时,我在一些标准Python模块中看到过这种语法,但我不知道它的含义。在我的示例中,a
的提示类型是什么?我可以传递给此函数的类型是什么
我在
tkinter
的Frame
\uuu init\uuuuu
方法中看到了一个特殊的例子,其中master
参数的类型为{tk,\u w}它是一个提示,告诉您它需要一个具有命名属性“int”和“float”的对象,或者更具体地说是tkinter“tk”和“uw”
我用pycharm编写了一个最小的示例:
输入python库——您可以看到有人试图访问master.tk
和master.\u w
。这就是pycharm能够推断的关于参数主控类型的所有信息,因此它以这种方式将其浮动到IDE。看起来像f
可以接受a
类型int
或float
您能说出一个这样的包吗?对于Python,它相当于注释,但其他库(如Mypy)可以使用它们来分析代码。Python中的变量没有固定/永久类型。提示是一个linter特性,它绝对是一个集合
文字。@AshwiniChaudhary我创建了一个用于运行时检查参数的包。不过,它不会检查函数内部的设置。这是正确的(你可以通过测试来验证),但是我在任何地方都找不到它的文档,我甚至不确定这个特性叫什么。你知道这是在哪里记录的吗?