2012-01-04 3 views
2

내 클래스 인 methodA와 methodB에 두 개의 메소드가 있다고 가정합니다. methodA에서 클래스 X의 객체 S를 만든 다음이 객체를 methodB에 전달하려고합니다. 그런 다음 methodB를 작성할 때 X 유형을 알려서 IDE를 사용할 때 "X"를 입력하면됩니다. S에 대한 메소드와 인스턴스 변수의 목록을 참조하십시오. 이것은 파이썬에서는 불가능합니까?Python : 사용자 정의 객체에 대한 코드 완성을 가진 편집기

답변

3

이것은 실제로 파이썬에 관한 질문이 아닙니다. 오히려 IDE에 관한 질문입니다.

나는 당신이 원하는 것을 할 수있는 IDE를 보지 못했습니다. 또한, 파이썬의 동적 특성을 감안할 때, 특별한 경우를 제외하고는 그러한 코드 완성을 구현하는 것이 매우 어려울 것입니다.

+0

+1 예 코드를 실행하지 않고 파이썬 개체 멤버를 아는 것은 거의 불가능합니다. – soulcheck

0

IDE에서 rope 플러그인을 지원하는 경우 부분 자동 완성을 지원할 수 있습니다.

class Class(object): 
    def __init__(self): 
     self.var1 = "one" 
     self.var2 = "two" 
     self.var3 = "three" 

    def method_1(self): 
     pass 

    def method_2(self): 
     self.var1 = "one**"  # Autocomplete works here, no need of workarounds 


def test_method(obj1_, obj2_): 
    # To make autocompletion works here, I start suffixing the parameters with _ 

    if False:    # Then I define each parameter statically 
     obj1 = Class() 
     obj2 = Class() 

    # Autocomplete now works! 
    obj1.method_1() 
    print obj2.var1 

    # Remember to rename obj1_ to obj1, ... 

### 

어쩌면 로프 위의 해결 방법은 불필요하게 주석의 종류를 지원하지만 나는 그것의 좋은 예를 찾을 수 없습니다 :

내가 (SublimeText)을 사용하고 편집기 밧줄 플러그인을 지원합니다

은, 그때 입력 할 수 있습니다 .

관련 문제