반응형
del 키워드를 이용해서 변수와 객체의 연결을 끊을 수 있습니다.
del 키워드는 다음과 같이 사용가능합니다.
del target_list
변수를 삭제하면 변수가 동일한 코드 블록의 전역문에서 발생하는지 여부에 따라 로컬 또는 전역에서 해당 변수의 바인딩이 제거됩니다. 변수가 삭제된후 참조를 하게 되면 NameError 에러가 발생합니다.
아래 코드를 참조하면 됩니다.
a = 10 print (a) del a print (a) |
실행결과는 처음 print문에서는 변수 a의 값이 제대로 나오지만 두번째 print문에서는 에러가 발생됨을 알 수 있습니다.
10 Traceback (most recent call last): File "del_test1.py", line 7, in <module> print (a) NameError: name 'a' is not defined |
그런데 아래 코드와 같이 로컬에서 global로 선언한 변수를 삭제하면 어떻게 되는지를 보면
count = 10 def test (a): global count count = count + a print (count) del count test (100) print (count) |
첫번째 print문에서는 이상없이 값을 출력되지만 역시 마찬가지로 NameError 에러가 발생됨을 볼 수 있습니다.
110 Traceback (most recent call last): File "del_test2.py", line 13, in <module> print (count) NameError: name 'count' is not defined |
마찬가지로 nonlocal로 선언된 변수를 삭제하면 바로 위의 함수에서 참조를 하면 NameError 에러가 발생됩니다.
반응형
'파이썬 (Python) > 파이썬 키워드' 카테고리의 다른 글
[파이썬] 함수에서 결과값을 반환시키는 return 키워드 (0) | 2021.06.29 |
---|---|
[파이썬] 디버깅을 유용하게 해주는 assert 키워드 (0) | 2021.06.29 |
[파이썬] 로컬변수가 아님을 선언하기 위한 nonlocal 키워드 (0) | 2021.06.29 |
[파이썬] 로컬에서 전역변수를 사용하기 위한 global 키워드 (0) | 2021.06.29 |
[파이썬] pass 키워드 사용법 (0) | 2021.06.29 |