준호씨의 블로그
python - del statement. keyword? 연산자? 함수? 적절한 표현인가? 본문
python에는 del statement가 있습니다. 여러 역할이 있지만 dictionary에서는 key에 해당하는 아이템을 삭제할 때 사용합니다.
mydict = {"name": "hong gil dong", "age": 28}
print(mydict) # {'name': 'hong gil dong', 'age': 28}
del mydict["name"]
print(mydict) # {'age': 28}
del을 책이나 python관련 사이트들에서 다양하게 부르고 있는데요. keyword라고 하기도 하고, 연산자라고 부르기도 하고, 함수라고 부르기도 합니다.
statement
다 맞는 말이긴 하지만 공식문서에서는 statement라고 하고 있습니다.
출처: https://docs.python.org/3/reference/simple_stmts.html#the-del-statement
pyCharm이라는 개발 툴에서도 del 위에 마우스를 올려두면 statement라고 하고 있습니다.
참고로 del 외에도 return, pass, raise, break, continue, import 등 다양한 statement들이 있습니다.
출처: https://docs.python.org/3/reference/simple_stmts.html#the-del-statement
keyword?
keyword는 범용적으로 쓰는 대명사 같은 느낌이네요. del keyword라고 해도 이해하는 데 어려움은 없을 거 같습니다.
연산자? operator?
Operation을 하는 데 사용하니까 operator라고 하는 거도 적절해 보입니다.
출처: https://docs.python.org/3.8/library/stdtypes.html#dict.pop
그리고 다른 언어들에서도 delete operator라는 표현을 많이 사용하는 편입니다.
출처: https://docs.microsoft.com/en-us/cpp/cpp/delete-operator-cpp?view=msvc-170
함수?
del statement를 사용하면 __delitem__ 함수가 호출되기 때문에 함수라고 말하는 거도 틀린 말은 아니긴 합니다. 아래는 __delitem__함수를 구현해서 del로 호출하는 예제입니다.
class Hello:
def __delitem__(self, key):
print("delitem {}".format(key))
hello = Hello()
del hello["hello"] # delitem hello
관점에 따라서 함수라고 부르는 걸 선호할 수도 있고 구분해서 다르게 부르는 걸 선호할 수도 있겠습니다.
결론
뭐가 되었던 상대방이 알아먹으면 괜찮다고 생각하는 편입니다. 그래도 공식 용어인 statement는 알아두면 좋을 거 같네요 :) 다만 statement라고 하면 적어도 국내에서는 오히려 못 알아먹는 경우도 많을 거 같습니다. 그럴 때 상대방이 알아먹을 수 있는 단어로 알려주고 공식적으로는 statement라고 한다고 아는 척(?) 해볼 수 있겠습니다.