del은 굳이 왜 있는 걸까요?


발생하는 문제 및 실행환경

del이 왜 굳이 따로 있는지 모르겠어요

변수를 지우기보다는 그냥 None을 할당해도 되는거고, 리스트에서는 원소를 지울 때도 pop()이나 remove()도 따로 있고.

왜 굳이 del을 만들어 준걸까요? 아니면 del이 쓰레기 수집같은 역할도 같이 해서 그런걸까요?

  • 2016년 02월 23일에 작성됨

조회수 134


1 답변


좋아요
0
싫어요
채택취소하기

Python Language Reference에 del이 하는 일이 나와있습니다.

Deletion of a name removes the binding of that name from the local or global namespace

이름을 del 하는 건 지역/전역 namespace에서 이 이름의 binding을 지우는 일을 한다

반면에 None을 할당하는 건 바인딩을 없애지는 않습니다..

변수의 scope를 제한할 수 있다는 장점이 있는 것 같지만 저도 파이썬에서 이게 왜 유용한지는 잘 모르겠습니다...


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close