• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

소멸자에서 전체 인스턴스에 활당이 안되는것같습니다.

22.02.06 05:40 작성 조회수 85

0

-
class Warehouse:
    # 클래스 변수
    stock_num = 0 # 재고

    def __init__(self, name):
        # 인스턴스 변수
        Warehouse.stock_num += 2 # 클래스명으로 만든 변수는 모든 인스턴스에 활당
        self.name = name #self로 만든 변수는 각각의 인스턴스에   2당
        self.stock_num+=100

        print(self.name,self.stock_num)

    def __del__(self):
        Warehouse.stock_num -= 2
        self.stock_num-=100
        print(self.name,self.stock_num)

user1 = Warehouse('Lee') # Lee 102
user2 = Warehouse('Cho') # Cho 104

del user1 # Lee 2 -> 102-100
del user2 # Lee 0 이나와야 하는데 4가 나옴  ->104-100

소멸자에서  Warehose.stock_num 이 안먹힌거 같은데 왜그런거죠?

답변 1

답변을 작성해보세요.

0

마지막에 출력 부분에 클래스 변수 값을 출력하셨어야 해여~

print(self.name,Warehouse.stock_num )

 

최일영님의 프로필

최일영

질문자

2022.02.08

아하 흐음 그러면 생성할떈 클래스 전역 연산이 먹히는데 소멸할떄는 클래스 전역 연산은 안먹힌다는거죠?