Intro
Wallus (바다코끼리) 연산자는 바다코끼리를 연상시키는 이모티콘 (:=) 과 같은 모양으로, Python 3.8부터 사용이 가능해졌다. Assign & Return을 한번에 진행하는 기능이 있다.
Example
Wallus operator는 for문과 주로 같이 사용되는데, 이를 사용하지 않고 3보다 큰 index를 고르는 예제를 코딩하면 아래와 같다.
numbers = [1, 2, 3, 4, 5, 6]
index = None
for i, num in enumerate(numbers):
if num > 3:
index = i
break
print("Index without walrus:", index)
반면, wallus operator를 사용하면 아래와 같이 line수가 줄어든다.
numbers = [1, 2, 3, 4, 5, 6]
if (index := next((i for i, num in enumerate(numbers) if num > 3), None)) is not None:
print("Index with walrus:", index)
Outro
:= 저걸 어디서 봤나 했더니, 예전에 실해석할 공부할때 자주 사용하던 수식이다. 참고로, 수학에서 :=는 보통 처음에 어떤 변수를 정의할 때 사용한다. Python에서도 결국 같은 느낌으로, 이렇게 정의 할께 하는 의미와 동시에 해당 statement에 대한 결과를 반환하는 재미있는 수식이다.
또한 예시에 나온것 처럼 Python에서 짧게 함축적으로 코딩 하는것에 희열을 느끼는 사람들은, list comprehension과 wallus operator를 같이 사용함으로 긴 내용을 무척이나 짧게 줄여 쓸 수 있고 뿌듯해 한다. 아는 사람 이야기다
Reference
(그림) Wiki
'정리 조금 > Codes' 카테고리의 다른 글
[Python] ModuleNotFoundError: No module named 'tensorflow.keras' (0) | 2024.04.23 |
---|---|
[Linux] SCP File Transportation (0) | 2024.03.11 |
[Docker] Restart (0) | 2024.01.23 |
[Python] Package Version Check (0) | 2023.12.11 |
[Python] Image Data, Shape Transformation (0) | 2023.12.04 |