인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

최일영님의 프로필 이미지
최일영

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

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

작성

·

121

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 )

 

최일영님의 프로필 이미지
최일영
질문자

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

최일영님의 프로필 이미지
최일영

작성한 질문수

질문하기