Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从类型别名确定类型?_Python_Python 3.x_Type Hinting - Fatal编程技术网

Python 如何从类型别名确定类型?

Python 如何从类型别名确定类型?,python,python-3.x,type-hinting,Python,Python 3.x,Type Hinting,声明别名t1=typing.List[int]或t2=typing.List[double]后,如何从t1确定它是List[int]和t2确定它是List[double]?t1和t2是否有一些隐藏的属性或函数可以帮助您 以交互方式,您最有用的选项可能是 >>> t1 typing.List[int] 如果您想在程序中检查它,您可以查看诸如\uuuuu name\uuuuuuu、\uuuu参数\uuuuuuuuu,或者IsubClass是否将其报告为键入的子类。List: &g

声明别名
t1=typing.List[int]
t2=typing.List[double]
后,如何从
t1
确定它是
List[int]
t2
确定它是
List[double]
t1
t2
是否有一些隐藏的属性或函数可以帮助您

以交互方式,您最有用的选项可能是

>>> t1
typing.List[int]
如果您想在程序中检查它,您可以查看诸如
\uuuuu name\uuuuuuu
\uuuu参数\uuuuuuuuu
,或者
IsubClass
是否将其报告为
键入的子类。List

>>> t1.__name__
'List'
>>> t1.__parameters__
(<class 'int'>,)
>>> issubclass(t1, typing.List)
True
>>>t1.\u名称__
“列表”
>>>t1.\uuu参数__
(,)
>>>issubclass(t1,键入.List)
真的

您是指静态还是运行时?在运行时,使用与直接使用
typing.List[int]
相同的方法进行操作。当然,我目前还不确定这种方式会是什么。我是说在运行时。如果我看到一些变量t,我能做些什么来确定t是一个
类型化.List[int
]或
类型化.List[double]
类型化.List[something]
?啊,好的,这就是我要寻找的更多的属性,
\u参数
属性。在什么情况下,
\uuuuuu参数\uuuuu
会给出一个包含2个或更多内容的元组?Thanks@VuNguyen:对于具有多个类型参数的泛型,例如
typing.Mapping[str,str]