2016-08-18 2 views
1

내가 수업과 같이 조직 아니오 "방법"회원이 없습니다 :이 실행되면,이 일"E1101" "클래스"의 인스턴스

class One: 
    def funcOne(self): 
     doSomething() 

class Two(One): 
    def funcTwo(self): 
     self.funcOne() 

, 그리고 Two가 할 수 파이썬의 상속 모델이 있습니다 funcOne에 전화하십시오.

그러나 pylint 실행하는 나에게 오류 제공 : 이미 another question on the site 보았다

[E1101 (no-member), myscript] Instance of 'Two' has no 'funcOne' member 

하지만 그 질문 관심 변수 및 제안 유일한 해결책은 어떤 당신이 할 수없는, 사전에 넣어했다 방법으로해라.

어떻게 pylint에서 상속 동작을 인식 할 수 있습니까?


편집 : 나는 무지 오래 pylint 1.1.0을하고 있는데, 아마도 그 원인입니까?

+0

이 self''와'funcTwo''내부 funcOne'를 호출 시도 버전 사이에 고정 pylint의 버그 가정'self.funcOne()' – Nicarus

+0

@Nicarus 죄송합니다, 그 문제의 오타였습니다. 업데이트 할게요. – Jeeter

+0

문제를 "해결"하지는 않지만 다음 행을 추가하여이 오류를 명시 적으로 무시할 수 있습니다 :'# pylint : disable = E1101' – Nicarus

답변

0

전화 self.funcOne()

또한 클래스 하나는 pylint의 내 버전이 최신이 심한 것을 밝혀 객체

class One(object): 
    ... 
+0

혼란에 대해 죄송합니다. 실제로 '자기 '와 전화하십시오. 또한 파이썬 클래스가'object'를 암묵적으로 상속 받았다고 생각했습니다. – Jeeter

+1

@ 감탄사 - 오직 python 3+ 이상. 그러나 항상 어떤 상황에서든 명시 적으로하는 것이 좋습니다. –

+0

@Jeeter - funcTwo()를 어떻게 부르시겠습니까? –

0

에서 상속해야합니다. 버전 1.1.0을 실행하고 최신 버전 1.6.4으로 업데이트하면 경고가 사라졌습니다.

는 그래서,이