작성
·
69
0
수업내용을 그대로 따라하면서 진행하였습니다
근데 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']