我正在为 python 使用 eclipse,我遇到了一个问题。我有许多具有许多属性的类,并且想要来 self 声明的类之一的对象列表。问题是:当我访问列表中的任何项目时,IDE 不知道它的类型,因为在 python 中我们没有用类型声明变量,所以没有自动完成,我必须去类中复制属性名称。
为了让思路更清晰:
class AutomataBranch(object):
def __init__(selfparams):
self.Name="";
self.nodes=[];
class LanguageAutomata(object):
def __init__(selfparams):
self.cfgAutomata=[];#This has AutomaBranch Type
现在在 LanguageAutomata 类的任何方法中,如果我写:
cfgAutomata
。然后它不会给我 Name 属性
有什么解决办法吗?
最佳答案
Python 是强类型的,Python 列表也是。您的问题来自 Python 是动态类型的事实。因此 var 可以包含任何类型,因此没有 IDE 可以猜测您的参数类型是什么,也不会为您提供方法的代码完成。
就是这样,没有干净的解决方法。如果这是一个问题,那么动态语言可能不是你的偏好工具,你应该使用适合你的开发风格的东西。每个人都有适合的工具。
关于Python 强类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1288421/