• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예제3 코드가 제대로 실행이 안되는데 이유가 궁금합니다.

21.05.23 14:54 작성 조회수 142

0

스파이더로  아래처럼 코드를 단순하게 바꿔서 실행하면

2가 프린트되는게 정상인것 같은데

처음 실행하면 1, 그 후에는 0이 프린트가 됩니다.

class Warehouse:
    # 클래스 변수 
    stock_num = 0 # 재고
    
    def __init__(self, name):
        # 인스턴스 변수
        self.name = name
        Warehouse.stock_num += 1
    
    def __del__(self):
        
        Warehouse.stock_num -= 1

user1 = Warehouse('Lee')
user2 = Warehouse('Cho')

print(Warehouse.stock_num)


이런식으로요

예제파일을 그대로 실행해도 계속 비슷한 문제가 생기고

__del__ 을 삭제하면 정상적으로 실행되는 것 같습니다.

왜 이런 문제가 생기는건지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요.

실행하시는 환경이 라인별로 실행되는 것같습니다.

실행해보니 해당 코드는 2가 정상적으로 출력됩니다.