Pythonic Thinking(4) 파이썬 효율적으로 사용하기
첫번째 챕터 Pythonic Thinking의 10번 팁을 간단하게 요약해보자. 개학도 해서 일찍 자야하고 10번 팁이 긴 편이라 하나만 정리하자.
- 할당(Assignment; =) 표현으로 인한 반복을 피해라 (Python 3.8)
아직 개발중인 Python 3.8의 walrus(바다코끼리) 연산자에 대한 내용이다.
- walrus 연산자(:=)를 사용해서 존재하지 않는 변수에 대하여 할당과 동시에 사용이 한줄로 가능하다.
- 변수 할당이 다른 큰 표현 안에서 이루어지는 경우(예 if문에서의 대소 비교)에는 괄호
()
를 안에 넣어주자. - 파이썬에서
switch/case
문과do/while
반복문이 존재하지 않지만 앞서 말한 walrus 연산자를 활용하면 간결하게 표현이 가능하다. (아래 예시 참조)# 재료(과일 딕셔너리로 존재)가 허락하는 가장 좋은 주스를 갖는 경우 switch/case 문 if (count := fresh_fruit.get('banana'), 0)) >= 2: # 바나나는 잘라야 된다. pieces = slice_bananas(count) to_enjoy = make_smoothies(pieces) elif (count := fresh_fruit.get('apple'), 0)) >= 4: to_enjoy = make_cider(count) elif count := fresh_fruit.get('apple'), 0): to_enjoy = make_lemonade(count) else: to_enjoy = 'Nothing' # 모든 재료를 소진하여 주스 병을 만드는 경우 do/while 문 bottles = [] while fresh_fruit := pick_fruit(): for fruit, count in fresh_fruit.items(): batch = make_juice(fruit, count) bottles.extend(batch)
출처: Slatkin, B. (2020). Effective Python: 90 specific ways to write better Python. USA: Addison-Wesley.