Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 del 연산자는 튜플에서 어떻게 작동할까?

튜플(tuple)은 불변(immutable) 자료형이기 때문에 개별 요소를 직접 삭제하는 것은 불가능합니다. 대신 리스트 컴프리헨션(list comprehension)이나 슬라이싱(slicing)을 활용해 원하지 않는 요소를 제외한 새로운 튜플을 만드는 방법을 사용할 수 있습니다.

del 문으로 튜플 전체 삭제하기

튜플 전체를 명시적으로 제거하고 싶다면 del 문을 사용하면 됩니다. del은 객체 자체가 아니라 변수에 대한 참조(reference)를 삭제하며, 삭제된 이후에는 해당 이름으로 더 이상 접근할 수 없습니다.

예제

tup = ('physics', 'chemistry', 1997, 2000)
print(tup)
del(tup)
print("After deleting tup : ")
print(tup)

위 코드를 실행하면 다음과 같은 결과가 출력됩니다. 주목할 점은 예외(exception)가 발생한다는 것인데, 이는 del tup 실행 후 해당 튜플이 더 이상 존재하지 않기 때문입니다.

출력 결과

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
    File "test.py", line 9, in <module>
        print(tup)
NameError: name 'tup' is not defined

정리

  • 튜플은 불변 자료형이므로 remove(), pop() 같은 요소 단위 삭제 메서드를 지원하지 않습니다.
  • del 문은 튜플의 일부가 아니라 변수 자체(참조)를 제거합니다.
  • 삭제된 변수에 다시 접근하면 NameError가 발생합니다.