如何在 python 中使用对象的类型?

How to use an object's type in python?

我想查看一个对象列表,以便我的 PyCharm IDE 知道每个列表项是什么类型:

例如,假设我知道列表中的每个项目都是类型 'myClass' 的 class 实例 - 我如何使用它来转换我的对象,以便我的 ide可以帮助完成代码吗?

for i in range(len(myList)):
    myClass(myList[i]).myClassProperty .....

我知道如何在 Delphi 中执行此操作(类似于上面的内容)但在 python 中不知道。

谢谢

您无法在动态类型中获得类似于 Java 或 C++ 的代码完成,解释为 language.There 没有强制转换,因为您在 python 中不需要它。如果函数需要实现方法,则该函数适用于给定对象,此时类型与语言无关。如果您希望您的论点是例如一个命令。否则你最终会遇到很多棘手的错误。

至于 python 中的代码完成,我发现有两个有用的解决方案。这里最好的 IDE 可能是 PyCharm https://www.jetbrains.com/pycharm/ and PyDev the Eclipse Plugin http://www.pydev.org/manual_101_install.html。他们提供一些代码补全。

另一个是交互式控制台 Jupyter http://jupyter.org/。当您编写代码时,您可以分块(单元格)执行它并轻松查看对象方法或字段,而不是使用类型信息,而是使用存在于内存中的对象本身。这对于数据分析或玩弄你不太了解的框架非常有用。

在PyCharm中,您可以使用Type Hinting:

class Bar:
    def __init__(self,bar):
        self.bar = bar

    def do_bar(self):
        return self.bar

def foo(x):
    for el in x: # type: Bar
        el.do_bar()

bars = [Bar('hello'), Bar('World')]

foo(bars)