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

형짱님의 프로필 이미지
형짱

작성한 질문수

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

클래스 & 메소드 심화(2-2)

del처리후 질문입니다.

작성

·

69

0

image.pngimage.png

수업내용을 그대로 따라하면서 진행하였습니다

근데 del 호출후 결과가 2가 아닌 3으로 출력이 되는데요

마지막에

print(car2.car_count) 를 호출하면

Traceback (most recent call last):

File "/Users/janghyungju/Study/python/test.py", line 167, in <module>

print(car2.car_count)

^^^^

NameError: name 'car2' is not defined. Did you mean: 'car1'?

라는 에러가 발생하는거 봐서는 해당 인스턴스가 삭제된것으로 보입니다

근데 3이 출력되는 이유가 궁금합니다.

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요.

해당 클래스 내부 어트리뷰트 속성에 값이 남아 있어서 그렇습니다.

먼저 아래처럼

dir(car) 클래스 이름으로 속성값들을 검색하신 후

변수명.__attrs_attrs__ 로 검색하시면 내부의 값들을 확인 하실 수 있습니다.

관련 링크드 드립니다. 깊게 공부하시니 너무 좋네요!~

https://github.com/python-attrs/attrs/issues/537

>> dir(obj)

['__annotations__',
 '__attrs_attrs__',
 '__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'a']
형짱님의 프로필 이미지
형짱

작성한 질문수

질문하기