중첩 된 Python 클래스 및 부모의 메서드에 대한 액세스

사망

Python에는 다음과 같은 클래스가 있습니다.

class SDK(object):
    URL = 'http://example.com'

    def checkUrl(self, url):
        #some code

    class api:
        def innerMethod(self, url):
            data = self.checkUrl(url)
            #rest of code

하지만 api에서 checkUrl에 액세스하려고하면 오류가 발생합니다. 다음과 같이 중첩 된 메서드를 호출하려고합니다.

sdk = SDK()
sdk.api.innerMethod('http://stackoverflow.com')

내부 클래스 메서드를 호출하거나 메서드를 내부 개체로 구조화하는 간단한 방법이 있습니까? 어떤 제안이라도 감사하겠습니다.

편집 : 수업 코드 :

class SDK(object):
    def run(self, method, *param):
        pass

    class api:
        def checkDomain(self, domain):
            json = self.run('check', domain)
            return json

실행 코드 :

sdk = SDK()
result = sdk.api().checkDomain('stackoverflow.com')
유명한

SDK클래스는 api예제 에서 클래스 의 부모가 아닙니다. , api에서 상속하지 않으며 SDK단순히 중첩됩니다.

따라서 메서드 self개체 api.innerMethodapi클래스 의 인스턴스 일 뿐이며 클래스의 메서드에 대한 액세스를 제공하지 않습니다 SDK.

객체 지향 프로그래밍 개념에 대해 더 많이 알고 여기서 문제가 무엇인지 파악하는 것이 좋습니다. 그것은 당신을 엄청나게 도울 것입니다.

모듈을 사용하여 이러한 라인을 따라 무언가를 달성하는 경우, 예를 들어 SDK클래스의 모든 것을 모듈 인 sdk.py파일로 가져올 수 있습니다 sdk.

sdk.py :

URL = 'http://example.com'

def checkUrl(url):
    #some code

class api:
    def innerMethod(self, url):
        data = checkUrl(url)
        #rest of code

main.py :

import sdk

api = sdk.api()
api.innerMethod('http://stackoverflow.com')

또는 더 나아가서 그 안에 모듈이있는 sdk패키지로 변환 api수 있습니다.

모듈 및 패키지 사용 방법에 대한 자세한 내용 https://docs.python.org/2/tutorial/modules.html참조 하십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

중첩 된 ngRepeat에서 ngRepeat 부모의 $ first에 대한 AngularJS 액세스

분류에서Dev

중첩 클래스의 NodeJs / Javascript 액세스 부모 메서드

분류에서Dev

외부 클래스 중첩 열거에 대한 내부 클래스 액세스

분류에서Dev

중첩 된 내부 클래스 : 상위 메서드에 액세스하고 중첩 된 클래스 유형의 변수를 노출합니다.

분류에서Dev

내부 클래스 상속 및 둘러싸는 클래스 메서드 / 필드에 대한 액세스

분류에서Dev

중첩 된 JSON에 대한 모델 클래스

분류에서Dev

중첩 된 클래스에 대한 모든 개인 필드 및 해당 getter / setter 찾기

분류에서Dev

중첩 된 네임 스페이스의 내부 메서드에 액세스

분류에서Dev

해당 클래스에 대한 포인터 벡터로 포함 된 클래스의 메서드에 액세스

분류에서Dev

일반 부모 클래스 내에 중첩 된 클래스 생성자에 대한 함수 참조

분류에서Dev

동일한 모듈에서 "중첩 된 메서드"(또는 def)에 액세스하려고 할 때 NoMethodError

분류에서Dev

테스트를 위해 클래스 내부에 중첩 된 클래스 모의

분류에서Dev

중첩 된 필드에 대한 DevExpress JavaScript 개체에 액세스

분류에서Dev

MongoDB 및 Python의 중첩 항목에 액세스

분류에서Dev

클래스 외부에서 중첩 된 클래스에 액세스 할 수 없습니다.

분류에서Dev

클래스 외부에서 중첩 된 클래스에 액세스 할 수 없습니다.

분류에서Dev

중첩 된 사전의 신속한 액세스 필드

분류에서Dev

여러 클래스가있는 중첩 된 div 내의 자식에 액세스

분류에서Dev

Java-클래스가 중첩 된 클래스의 개인 필드에 액세스 할 수 있습니까?

분류에서Dev

Modelica의 중첩 된 대체 가능 클래스에서 클래스 확장

분류에서Dev

다른 포인터에서 하나의 기본 클래스에 대한 다중 상속 및 일반 액세스

분류에서Dev

목록에서 중첩 된 클래스 문에 액세스

분류에서Dev

부모 클래스 메서드에 의해 수정 된 자식 클래스의 속성에 액세스

분류에서Dev

javascript-상속 된 클래스의 객체는 모든 부모의 속성 및 메서드에 액세스 할 수 있습니다.

분류에서Dev

부모에 정의 된 메서드에서 부모 및 자식 변수에 액세스-PHP

분류에서Dev

Java의 파생 클래스에서 수퍼 클래스에 중첩 된 개인 내부 클래스에 액세스하는 방법이 있습니까?

분류에서Dev

클래스 내에 중첩 된 열거 형에 대한 연산자 정의

분류에서Dev

내부 중첩 클래스의 외부 클래스에 액세스

분류에서Dev

JUnit4의 정적 내부 테스트 클래스에 대한 중첩 된 테스트 설정

Related 관련 기사

  1. 1

    중첩 된 ngRepeat에서 ngRepeat 부모의 $ first에 대한 AngularJS 액세스

  2. 2

    중첩 클래스의 NodeJs / Javascript 액세스 부모 메서드

  3. 3

    외부 클래스 중첩 열거에 대한 내부 클래스 액세스

  4. 4

    중첩 된 내부 클래스 : 상위 메서드에 액세스하고 중첩 된 클래스 유형의 변수를 노출합니다.

  5. 5

    내부 클래스 상속 및 둘러싸는 클래스 메서드 / 필드에 대한 액세스

  6. 6

    중첩 된 JSON에 대한 모델 클래스

  7. 7

    중첩 된 클래스에 대한 모든 개인 필드 및 해당 getter / setter 찾기

  8. 8

    중첩 된 네임 스페이스의 내부 메서드에 액세스

  9. 9

    해당 클래스에 대한 포인터 벡터로 포함 된 클래스의 메서드에 액세스

  10. 10

    일반 부모 클래스 내에 중첩 된 클래스 생성자에 대한 함수 참조

  11. 11

    동일한 모듈에서 "중첩 된 메서드"(또는 def)에 액세스하려고 할 때 NoMethodError

  12. 12

    테스트를 위해 클래스 내부에 중첩 된 클래스 모의

  13. 13

    중첩 된 필드에 대한 DevExpress JavaScript 개체에 액세스

  14. 14

    MongoDB 및 Python의 중첩 항목에 액세스

  15. 15

    클래스 외부에서 중첩 된 클래스에 액세스 할 수 없습니다.

  16. 16

    클래스 외부에서 중첩 된 클래스에 액세스 할 수 없습니다.

  17. 17

    중첩 된 사전의 신속한 액세스 필드

  18. 18

    여러 클래스가있는 중첩 된 div 내의 자식에 액세스

  19. 19

    Java-클래스가 중첩 된 클래스의 개인 필드에 액세스 할 수 있습니까?

  20. 20

    Modelica의 중첩 된 대체 가능 클래스에서 클래스 확장

  21. 21

    다른 포인터에서 하나의 기본 클래스에 대한 다중 상속 및 일반 액세스

  22. 22

    목록에서 중첩 된 클래스 문에 액세스

  23. 23

    부모 클래스 메서드에 의해 수정 된 자식 클래스의 속성에 액세스

  24. 24

    javascript-상속 된 클래스의 객체는 모든 부모의 속성 및 메서드에 액세스 할 수 있습니다.

  25. 25

    부모에 정의 된 메서드에서 부모 및 자식 변수에 액세스-PHP

  26. 26

    Java의 파생 클래스에서 수퍼 클래스에 중첩 된 개인 내부 클래스에 액세스하는 방법이 있습니까?

  27. 27

    클래스 내에 중첩 된 열거 형에 대한 연산자 정의

  28. 28

    내부 중첩 클래스의 외부 클래스에 액세스

  29. 29

    JUnit4의 정적 내부 테스트 클래스에 대한 중첩 된 테스트 설정

뜨겁다태그

보관