Python/파이썬 기초

파이썬 del 명령어의 기능, 자료형별 사용 예제 정리

jimmy_AI 2022. 5. 12. 19:50
반응형

파이썬의 자료 삭제 명령어 del 사용법

파이썬에서 선언했던 자료를 지울 수 있는 del 명령어에 대하여

리스트, 딕셔너리, 문자열 및 내장 함수를 예시로 기능과 사용법을 살펴보겠습니다.

 

del 변수 형태의 코드는 자료형에 상관없이 기본적으로 해당 변수의 선언 자체를 무효화시킵니다.

 

 

del 사용 case 1 : 리스트

del 명령어의 기본 기능(자료 전체 삭제)을 사용하는 방법인

del list 형태로 리스트의 선언 자체를 무효화(빈 리스트로 만드는 것이 아닙니다.)할 수 있으며

 

del list[0] 혹은 del list[0:2] 형태처럼 인덱싱 혹은 슬라이싱 위치에 있는

특정 원소들만을 골라서 제거하는 기능도 지원합니다.

list_ex = [1, 3, 5, 7, 9]

# 인덱싱 형태로 리스트의 특정 원소 삭제
del list_ex[0]

print(list_ex) # [3, 5, 7, 9]

# 슬라이싱 형태로 리스트의 원소들 삭제
del list_ex[0:2]

print(list_ex) # [7, 9]

# 리스트 전체 삭제
del list_ex

print(list_ex) # NameError: name 'list_ex' is not defined

 

 

del 사용 case 2 : 딕셔너리

del 명령어를 딕셔너리에 적용하는 경우에는 같은 방식으로 자료 전체 삭제를 포함하여 

del dict[key]처럼 특정 key를 가지는 원소를 삭제할 수 있습니다.

dict_ex = {"a" : 1, "b" : 2, "c" : 3}

# 딕셔너리 특정 원소 삭제
del dict_ex["b"]

print(dict_ex) # {'a': 1, 'c': 3}

# 딕셔너리 전체 삭제
del dict_ex

print(dict_ex) # NameError: name 'dict_ex' is not defined
반응형

del 사용 case 3 : 문자열

문자열의 경우, 리스트나 딕셔너리 형태와는 달리 일부 원소 삭제 기능을 지원하지 않습니다.

str_ex = "abcde"

# 특정 원소 삭제 시도
del str_ex[0] # TypeError: 'str' object doesn't support item deletion

# 문자열 전체 삭제는 가능
del str_ex

 

 

del 사용 case 4 : 내장 함수

print, int, map, type과 같은 내장 함수에 대하여 del을 적용할 수 있습니다.

다만, 이 경우에는 해당 내장 함수 이름의 변수에 다른 값이 덧씌워져 있을 때,

덮어씌워진 값을 제거하고 원래 내장 함수의 기능을 회복시키는 기능을 수행합니다.

print("hello!") # 정상 출력

print = 1 # 다른 값이 덧씌워짐

print("hello!") # TypeError: 'int' object is not callable

del print # del 실행

print("hello!") # 정상 출력(기존 print 함수 기능 회복)