2017-03-21 2 views
0

내 PyCharm IDE에서 각 목록 항목의 유형을 알 수 있도록 객체 목록을 살펴보고 싶습니다.python에서 객체의 유형을 사용하는 방법은 무엇입니까?

예를 들어 목록의 각 항목이 'myClass 유형의 클래스 인스턴스 '- 내 ide가 코드 완성을 도울 수 있도록 내 객체를 캐스팅하는 데이 코드를 어떻게 사용합니까?

for i in range(len(myList)): 
    myClass(myList[i]).myClassProperty ..... 

나는 델파이에서 (위와 비슷한) 어떻게할지는 알고 있지만 파이썬에서는 할 수 없다. 당신은 Java 또는 C와 유사한 코드 완성을 얻을 수

감사

+1

... 어떤 IDE를? 일부는 작성중인 코드의 인트로 스펙 션을 통해이를 수행하거나 docstring 및/또는 type annotation을 사용할 수 있습니다. – jonrsharpe

+1

이 작업을 수행하는 파이썬 방법은 없으며 '캐스팅'의 개념은 존재하지 않습니다. 어쩌면 IDE는 그것을 할 수있는 방법이 있습니다. – RemcoGerlich

+0

이것은 IDE에만 해당됩니다 (사용중인 IDE를 말합니다). 나는 일반적인 파이썬 솔루션이 있다고 생각하지 않는다. 파이썬 3.5 이후의 힌트를 제외하고는 어떨까요? – DavidW

답변

1

PyCharm에서, 당신은 Type Hinting 사용할 수 있습니다

class Bar: 
    def __init__(self,bar): 
     self.bar = bar 

    def do_bar(self): 
     return self.bar 

def foo(x): 
    for el in x: # type: Bar 
     el.do_bar() 

bars = [Bar('hello'), Bar('World')] 

foo(bars) 

enter image description here

+0

또 다른 가능성은': x : list [Bar]'를'foo'의 문서화 문자열에 넣는 것입니다. –

0

는 ++ 동적으로 입력, 당신은 파이썬에서 필요하지 않기 때문에 language.There, 아니 주조 없다 해석했다. 함수가 구현 된 메소드를 필요로하는 경우 주어진 객체에 대해 함수가 작동합니다. 유형은이 시점에서 언어와 관련이 없습니다. 예를 들어 인수가 예상되는 경우 isinstance을 사용하여 일부 런타임 검사를 남기는 것이 좋습니다. dict. 그렇지 않으면 많은 어려운 버그로 끝날 것입니다.

파이썬의 코드 완성에는 유용한 두 가지 해결책이 있습니다. 여기서 가장 좋은 IDE는 PyCharm https://www.jetbrains.com/pycharm/과 PyDev Eclipse Plugin http://www.pydev.org/manual_101_install.html입니다. 코드 완성을 제공합니다.

다른 하나는 대화 형 콘솔 Jupyter http://jupyter.org/입니다. 코드를 작성할 때 청크 (셀)로 실행할 수 있으며 유형 정보가 아닌 메모리에있는 객체 자체를 사용하여 객체 메소드 나 필드를 쉽게 볼 수 있습니다. 이것은 잘 모르는 프레임 워크로 데이터 분석이나 노는 데 아주 좋습니다.

관련 문제