在Python中定义强类型变量

在Python中定义强类型变量,python,strong-typing,Python,Strong Typing,Intellisence无法帮助处理对象的Python成员,因为只有在运行时才知道对象类型。有没有办法指定变量的类型 例如 有没有一种方法可以写出这样的内容: for data:xml.etree.Element in root.findall('./data'): 有一种方法可以强迫您将其视为某种东西,但是,它确实会产生开销: root = xml.etree.ElementTree.parse(x).getroot() for data in root.findal

Intellisence无法帮助处理对象的Python成员,因为只有在运行时才知道对象类型。有没有办法指定变量的类型

例如

有没有一种方法可以写出这样的内容:

    for data:xml.etree.Element in root.findall('./data'):

有一种方法可以强迫您将其视为某种东西,但是,它确实会产生开销:

root = xml.etree.ElementTree.parse(x).getroot()
        for data in root.findall('./data'):
            if isinstance(data, xml.etree.ElementTree.Element):
                data.
通过将它包装在
if isinstance()
,PyCharm将推断出它的类型,并允许您使用自动完成


这并不理想,但这就是Python耸耸肩

我建议为Python使用更好的文本编辑器。此外,python是强类型的,但不是静态类型的!我正在使用PyCharm/IntelliJYou也可以查看MyPy。这正好谈到了动态类型的问题和可能的解决方案(类型注释库)。
root = xml.etree.ElementTree.parse(x).getroot()
        for data in root.findall('./data'):
            if isinstance(data, xml.etree.ElementTree.Element):
                data.