Python强类型列表

2024-09-30 20:17:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为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。那么它不会给我一个名称属性 有什么解决办法吗?在


Tags: 对象self声明类型列表属性objectinit
3条回答

Python是强类型的,Python列表也是。您的问题来自于Python是动态类型化的。因此,var可以包含任何类型,因此没有IDE可以猜测参数的类型,也不能为方法提供代码完成。在

事情就是这样,没有干净的解决办法。如果这是一个问题,那么也许dynamics语言不是您的首选工具,您应该使用适合您的开发风格的工具。每个人都有工具。在

我想你的意思是说“静态类型”而不是“强类型”。Python是强类型的。您只是不知道在编译时该类型是什么。在

尽管如此,您确实需要放弃这样的想法:您将找到任何适用于Python的ide,就像它们对Java或C#一样。Python的动态类型使得这一点变得困难。事实上,我倾向于发现强大的ide更像是一种负担而不是帮助。在

您不应该编写适合您的IDE的代码—IDE应该支持您。如果你有困难,那就换一个。有很多编辑器可以正确地处理Python。在

相关问题 更多 >