Han*_*ani 4 python eclipse list strong-typing
我正在使用eclips进行python,我遇到了一个问题.我有许多具有许多属性的类,并且需要一个来自我声明的类的对象列表.问题是:当我从列表中访问任何项目时,IDE不知道它的类型,因为在python中我们没有用它的类型声明变量,所以没有自动完成,我必须去类复制属性名称.让想法更清晰:
class AutomataBranch(object):
def __init__(selfparams):
self.Name="";
self.nodes=[];
class LanguageAutomata(object):
def __init__(selfparams):
self.cfgAutomata=[];#This has AutomaBranch Type
Run Code Online (Sandbox Code Playgroud)
现在在LanguageAutomata类中的任何方法,如果我写:
cfgAutomata.然后它不会给我Name属性是否有任何解决方案?
您不应该编写适合您的IDE的代码 - IDE应该支持您.如果您遇到问题,请切换.有很多编辑器可以正确处理Python.
Python 是强类型的,Python 列表也是强类型的。你的问题来自于Python是动态类型的。因此 var 可以包含任何类型,因此 IDE 无法猜测参数的类型,也无法为您提供方法的代码完成。
就是这样,没有干净的解决方法。如果这是一个问题,那么也许动态语言不是您偏爱的工具,您应该使用适合您的开发风格的语言。每个人都有适合的工具。
Han*_*ani -1
我想我找到了一个很好的易于管理的解决方案。实际上它很微不足道,但可能会有所帮助(我现在使用它)。当我想访问列表时,我将要访问的对象分配给变量 ex:
x = AutomataBranch()
x = self.cfgAutomata[i]
Run Code Online (Sandbox Code Playgroud)
第一行仅用于让 IDE 知道它x是来自AutomatBranch类型。之后,当我按下时x,所有方法和属性都会可视化。
我想这是多么好的事情啊。