__del__ 작동 여부
337
2 câu hỏi đã được viết
강의와 동일한 코드를 실행하였는데 강의에서의 맨 마지막 코드 실행 결과는 True만 출력된 것에 비해 직접 해본 결과
True
car deleted
car deleted
가 출력되었습니다
따로 del tesla를 하지 않아도 자동으로 변수가 del된 것 같은데 혹시 어떤 이유로 이러한 차이가 발생한 것일까요?
Câu trả lời 4
1
class Tesla(object):
def __init__(self, owner, color):
self.owner = owner
self.color = color
def __str__(self):
return f"{self.color} color {self.owner}'s car"
def __len__(self):
return len(self.owner)
def __del__(self):
print("this car deleted")
def __eq__(self, other):
return self.color == other.color
tesla = Tesla("A", "Yellow")
tesla1 = Tesla("B", "Yellow")
print(tesla == tesla1)
0
안녕하세요 taeho7702님,
혹시 테스트 하실때 그냥 터미널에서 python 파일을 실행하시나요? 그렇게 된다면 GC(Garbage Collector)가 실행되어 __del__ 실행될 겁니다. 그렇지 않고 Jupyter notebook이나 Replit을 사용하신다면 GC가 나중에 세션이 끝나고 실행이 되기 때문에, 다른 밑에 두개의 프린트는 뜨지 않습니다 ㅎㅎㅎ

0
평소 Replit을 사용하였는데 다시 시도해 보아도 계속해서 동일하게 3줄이 출력되네요 혹시나 해서 Jupyter notebook을 사용해 보았는데 True만 정상 출력되는 것은 확인했습니다 Replit의 설정을 건드리는 기억은 없는데 어떠한 이유인지는 모르겠네요 답변 감사합니다
0
안녕하세요 taeho7702님,
제가 코드를 보지 않고는 질문이 잘 이해가 안 가는데, del tesla를 하지 않고서는 __del__이 실행이 되지는 않을 것 같습니다. 보통 이 Destructor는 Garbage Collector가 작동할 때, 즉 Object에 참조하는 것이 없어질때 실행되는데, 왜 그런 일이 일어났을까요? 혹시 코드를 올려주시면 제가 답변하는데 도움이 될 것 같습니다.
[업데이트] 파이썬 패키지 부분에서 안되어서 강의 진행 불가
2
59
3
html 읽기 오류
1
90
2
DataFrame groupby 사용관련 질문
1
91
2
pylint shell 사용법
0
71
2
자막오류 수정가능한가요?
0
79
1
복합 조건절 관련 궁금증
0
79
2
49.행맨 프로그램 - 재시도 횟수 관련.
1
76
1
64. 파이썬 입문자가 쉽게 빠지기 쉬운 몇가지 에러(혹은 로직)에 대해 알아보기
0
103
2
Replit UI가 업데이트 되서 강의 진행이 멈췄어요
2
178
3
Replit을 사용해보려고 하는데 영상처럼 진행이 안되네요
3
405
2
실무에서의 제네레이터 함수 사용에 관한 질문입니다.
0
64
2
영상이 소리만 나오고 영상은 안보입니다.
0
85
2
pandas 오류 질문
0
125
2
상속 질문
1
132
2
total을 float으로 바꾸신 이유
0
200
2
섹션2 ["환경 vs. 설정 vs. 구성"] 강의 자막 문의
0
141
1
파이썬 data insert to table
0
221
2
파이썬 Class Method 질문
0
154
2
timeit 쓸 때는 만들었던 함수를 재사용 할 수는 없는지?
0
131
2
__repr__ 와 __str__ 차이점?
0
204
2
class method vs static method
0
270
2
Type hint 문법의 Type Checking이 강제성이 있는지?
0
164
2
클래스 접근자 강의 복습부분 0:47에 오타가 있네요
0
104
2
수업 때 쓰셨던 txt file 공유 해주시면 좋겠습니다
1
177
1

