inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Nghiên cứu giải quyết vấn đề Python 100 bằng các ví dụ Phần 3

Phiên bản, đối tượng, số lượng đối tượng

소멸자 관련 질문

252

tnsdud35060196

1 câu hỏi đã được viết

1

안녕하세요.

소멸자는 인스턴스 객체를 생성한 후에 소멸시에 사용하는 것으로 알고 있습니다.

인스턴스 객체 p1만 소멸 시키고자 del p1을 수행했는데 p2까지 모두 소멸되었습니다.

소멸자는 객체 소멸이아니라 클래스 전체를 소멸하는 것인지 알고 싶습니다.

소멸자를 사용하는 이유가 메모리 효율때문인것같은데 어느 타이밍에 사용해야 하는지도 알고 싶습니다.

 

코드

import random


class Person:

    # 클래스 변수
    count_class_var = 0

    # 생성자
    def __init__(self, name, age, power):
        self.name = name
        self.age = age
        self.power = power
        self.increase_obj()

    # 클래스 메서드
    def increase_obj(self):
        Person.count_class_var += 1

    # 소멸자
    def __del__(self):
        print(self.name + ' 소멸되었습니다.')
        Person.count_class_var -= 1


def add_power_level():
    return random.choice([i for i in range(1, 11)])


# [2]:클래스 사용
p1 = Person('홍길동', 20, add_power_level())
print(Person.count_class_var)

p2 = Person('강감찬', 30, 9)
print(Person.count_class_var)

del p1

 

결과

1
2
홍길동 소멸되었습니다.
강감찬 소멸되었습니다.

python

Câu trả lời 1

0

itme2019

저도 똑같은 질문이 있습니다

저는 심지어 del 명령을 실행하지도 않았는데

생성된 객체들이 모두 없어질 때까지 자동으로 소멸자가 작동되었습니다

혹시 질문에 대한 해답을 얻으셨나요?

디스코드 소통창구는 없어졌나요 ??

0

4

1

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

3

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

6

1

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

4

1

20번강좌에 대한 질문입니다.

0

5

1

6-6

0

17

1

작업형 1 유형 부분

0

14

1

수강평 이벤트

0

21

2

작업형 1 (삭제예정, 구 버전)

0

34

2

강의노트는 어디있나요?

0

21

1

노션 학습 자료 권한 요청

0

17

1

수강기간 연장 문의드립니다.

0

25

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

25

3

part2강의 문의사항입니다.

0

23

2

수강기간 연장 문의드립니다.

0

28

1

인덱스 슬라이싱

0

28

2

코드를 첨부해야하는 이유가 있나요?

0

22

2

소리가 겹쳐서 들려요

0

23

2

데스크톱과 노트북 연결

0

30

1

dict, zip

0

21

2

노션 : 파트3번 링크와 권한 , 파트4번 권한요청, 파트 5번도 미리 요청 드립니다.

0

27

4

6-6 실습 문의

0

25

2

미션 06-02

0

24

2

인덱스로는 왜 접근이 불까한가요?

0

193

0