파이썬의 'del' 키워드 완벽 이해하기
파이썬을 사용하다 보면 변수나 객체를 제거해야 할 때가 있습니다. 이럴 때 많은 초보자들이 'del'을 함수로 오해하는 경우가 많은데, 사실 이것은 파이썬 문법에 내장된 키워드입니다. 오늘은 이 'del' 키워드의 정확한 이해와 활용법에 대해 알아보겠습니다.
del은 함수가 아닌 키워드
'del'은 함수처럼 보일 수 있지만, 실제로는 파이썬의 내장 키워드로, 객체에 대한 참조를 제거하는 데 사용됩니다. del()
처럼 괄호와 함께 사용하는 것이 아니라, 단독으로 사용하는 문장(statement)입니다.
del의 다양한 활용 사례
1. 변수 삭제
x = 10
del x # 변수 x를 삭제
이후에 x를 참조하면 'NameError: name 'x' is not defined'라는 에러가 발생합니다.
2. 리스트 요소 삭제
lst = [1, 2, 3]
del lst[1] # 인덱스 1의 요소(2)를 삭제
실행 후 lst는 [1, 3]이 됩니다.
3. 딕셔너리 키-값 쌍 삭제
d = {'a': 1, 'b': 2}
del d['a'] # 키 'a'와 그 값을 삭제
실행 후 d는 {'b': 2}가 됩니다.
del과 메모리 관리의 관계
'del' 키워드의 실행은 단순히 객체에 대한 참조를 제거할 뿐, 실제 메모리에서 언제 해제되는지는 파이썬의 가비지 컬렉터(GC)에 의해 결정됩니다. 즉, 'del'을 호출한다고 해서 반드시 메모리 해제가 즉시 일어나는 것은 아닙니다.
del의 고급 활용
'del'은 리스트 슬라이싱과 함께 사용할 수도 있습니다:
my_list = [1, 2, 3, 4, 5]
del my_list[1:3] # 인덱스 1부터 2까지의 요소 삭제
실행 후 my_list는 [1, 4, 5]가 됩니다.
또한 클래스 객체의 속성을 제거할 때도 활용 가능합니다:
class Person:
def __init__(self):
self.name = "Kim"
self.age = 30
p = Person()
del p.age # p 객체의 age 속성 삭제
마무리
'del' 키워드는 파이썬에서 객체 참조를 제거하는 강력한 도구입니다. 단순한 변수부터 복잡한 데이터 구조의 일부까지 다양하게 활용할 수 있지만, 메모리 관리의 측면에서는 가비지 컬렉터의 동작 원리를 이해하는 것이 중요합니다. 파이썬 프로그래밍을 하면서 데이터 관리에 유용하게 활용해보세요.
'dev > Python' 카테고리의 다른 글
파이썬에서 is와 == 연산자의 차이점 이해하기 (0) | 2025.03.12 |
---|---|
파이썬의 정수 캐싱(Integer Caching) 메커니즘 (0) | 2025.03.12 |
Python 패키지 관리의 혁신 - uv 소개 (0) | 2024.11.08 |
딕셔너리에서 삭제하기 (0) | 2022.03.08 |
defaultdict (0) | 2022.03.04 |
댓글