我正在为python使用eclips,我遇到了一个问题。我有许多具有许多属性的类,并且需要一个声明类中的对象列表。问题是:当我从列表中访问任何项时,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
。那么它不会给我一个名称属性
有什么解决办法吗?在
Python是强类型的,Python列表也是。您的问题来自于Python是动态类型化的。因此,var可以包含任何类型,因此没有IDE可以猜测参数的类型,也不能为方法提供代码完成。在
事情就是这样,没有干净的解决办法。如果这是一个问题,那么也许dynamics语言不是您的首选工具,您应该使用适合您的开发风格的工具。每个人都有工具。在
我想你的意思是说“静态类型”而不是“强类型”。Python是强类型的。您只是不知道在编译时该类型是什么。在
尽管如此,您确实需要放弃这样的想法:您将找到任何适用于Python的ide,就像它们对Java或C#一样。Python的动态类型使得这一点变得困难。事实上,我倾向于发现强大的ide更像是一种负担而不是帮助。在
您不应该编写适合您的IDE的代码—IDE应该支持您。如果你有困难,那就换一个。有很多编辑器可以正确地处理Python。在
相关问题 更多 >
编程相关推荐