2009-08-17 4 views
2

나는 파이썬에 대한 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. 그렇다면 그것은 내게 이름을주지 않을 것입니다. 속성 거기에 어떤 해결책이 있습니까?

+0

PyDev를 사용하고 있습니까? http://pydev.sourceforge.net/ – mcandre

+0

self.cfgAutomata에는 목록 유형이 있습니다. 실제로 self.cfgAutomata []의 유형을 얻으려고합니까? –

+1

여기에 오타가 있습니다. 맞습니까? \ _ \ _ init \ _ \ _()의 쉼표 누락 : def __init __ (self, params) : – hughdbrown

답변

5

IDE에 맞게 코드를 작성하면 안됩니다. IDE가 사용자를 지원해야합니다. 문제가있는 경우 전환하십시오. 파이썬을 제대로 다루는 많은 편집자가 있습니다.

+2

위의 코드와 함께 self.cfgAutomata [0] 유형을 찾을 IDE가 없습니다. 그것의 타입 (Object의 서브 클래스 외부)을 알 수있는 방법이 없다. –

+1

실제로 pydev를 사용하고 있습니다. IDE 또는 심지어 파이썬 인터프리터로 하여금 Name 속성이 존재하는지 여부를 알 수있는 방법이 없다고 말했습니다. 내가 원하는 것은 저에게 쓰는 방법입니다 : "AutomataBranch x"such that 내가 x를 더하면. 그런 다음 Name 속성을보고 보게됩니다. – Hani

-2

나는 managable 한 좋은 해결책을 발견했다고 생각한다. 사실 그것은 사소하지만 도움이 될 수 있습니다 (지금 사용했습니다). 첫 번째 줄은 IDE가 xAutomatBranch 유형에서 것을 알고 있도록에만 사용됩니다

x = AutomataBranch() 
x = self.cfgAutomata[i] 

: 나는 목록에 액세스 할 때 는 내가 변수 예에 액세스 할 개체를 지정합니다. 그 후에 x을 누르면 모든 메서드와 속성이 시각화됩니다.

나는 그것이 얼마나 좋은지 생각합니다.

+2

이것은 매우 나쁜 생각입니다. 자동 완성 작업을 수행하는 특별한 방법으로 코딩하면 CRAZY입니다. –

+2

아마도 당신 말이 맞지만 문제는 내가 항상 Microsoft Visual Studio를 사용하고 갑자기 새로운 IDE로 변경하는 것이 쉽지 않다는 것 이상의 거짓말입니다. 물론 코드를 리팩터링 할 것입니다. 귀하의 조언에 감사드립니다. Hani Almousli .... – Hani

4

파이썬은 강력한 형식이며 파이썬 목록도 있습니다. 문제는 파이썬이 동적으로 입력된다는 사실에서 비롯된다. 따라서 var에는 모든 유형이 포함될 수 있으므로 어떤 IDE도 매개 변수의 유형을 추측 할 수 없으며 메소드에 대한 코드 완성을 제공 할 수도 없습니다.

이렇게하면 깨끗한 해결 방법은 없습니다. 그것이 문제라면 어쩌면 역 동성 언어가 당신의 편애 도구가 아니며 개발 스타일에 맞는 것을 사용해야합니다. 모두를위한 도구가 있습니다.

2

"강하게 입력 된"대신 "정적으로 입력 된"이라고 생각하는 것 같습니다. 파이썬은 강하게 입력됩니다. 당신은 그 타입이 컴파일 시간에 무엇인지 알지 못합니다.

그렇다면 실제로 Java 또는 C#에서와 마찬가지로 Python에서도 잘 작동하는 IDE를 찾으려는 생각을 포기해야합니다. 파이썬의 동적 타이핑은 이것을 어렵게 만듭니다. 실제로 필자는 강력한 IDE가 도움이된다는 것을 알게되는 경향이 있습니다.

관련 문제