1.6 ‘순환과 절반’을 위한 바다코끼리 연산자
파이썬 프로그래머뿐만 아니라 다른 프로그래밍 언어를 사용하는 프로그래머들이 종종 사용하는 패턴이 있습니다. 바로 ‘순환과 절반(loop-and-a-half)’ 패턴입니다. 실제로 많은 언어가 이 작은 미적 결함을 피하기 위해 do ... while이나 repeat ... until과 같은 구조를 설계하거나 또는 나중에 추가해 왔습니다. 예를 들어 다음 코드는 앞에서 사용했던 신비한 get_data()와 predicate() 함수를 사용합니다.
파이썬에서 사용되는 이전 형식의 순환과 절반
>>> val = get_data()
>>> while not predicate(val):
... print("Current value acceptable:", val)
... val = get_data()
...
Current value acceptable: 869
Current value acceptable: 805
Current value acceptable: 632
Current value acceptable: 430
순환 앞과 순환 안에서 val에 대한 할당이 중복되는 것은 형식과 코드의 명확성 관점에서 볼 때 실제로 잘못된 것이 아니지만 약간 잘못된 것 같은 느낌이 듭니다.