python 의 --- 하위 클래스 부모 클래스 속성 간 의 관계

1528 단어 python 학습 노트
class P(object):

    def __init__(self):
        self.value = 0
        self.x = 1000

    def get(self):
        print(self.value)
        print(self.b)
        return id(self.value)


class C(P):

    def __init__(self):
        super(C, self).__init__()
        self.value = 44
        self.b = 6

    def a(self):
        self.get()
        print (self.x)

P().get()

#  :
/usr/bin/python3.6 "/home/zxy/code/nnUNet-master (myself)/nnunet/run/test.py"
0
Traceback (most recent call last):
  File "/home/zxy/code/nnUNet-master (myself)/nnunet/run/test.py", line 24, in 
    P().get()
  File "/home/zxy/code/nnUNet-master (myself)/nnunet/run/test.py", line 9, in get
    print(self.b)
AttributeError: 'P' object has no attribute 'b'

하위 클래스 C 는 부모 클래스 P 를 계승 하지만, 부모 클래스 로 대상 을 만 들 때 하위 클래스 C 의 속성 을 사용 할 수 없습니다.
 
class P(object):

    def __init__(self):
        self.value = 0
        self.x = 1000

    def get(self):
        print(self.value)
        print(self.b)
        return id(self.value)


class C(P):

    def __init__(self):
        super(C, self).__init__()
        self.value = 44
        self.b = 6

    def a(self):
        self.get()
        print (self.x)

# P().get()
C().a()
C().get()

#  :
/usr/bin/python3.6 "/home/zxy/code/nnUNet-master (myself)/nnunet/run/test.py"
44
6
1000
44
6

하위 클래스 의 속성 은 부모 클래스 에 의 해 호출 될 수 있 지만, 하위 클래스 구조의 대상 을 통과 해 야 부모 클래스 에 값 을 부여 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기