이 코드는 예상대로 작동하고 코드도 한 줄 짧다. if 문에서 대입 결과와 4를 비교하기 위해 대입식을 괄호로 둘러싸야 한다는 점이 중요하다. 레모네이드 예제에서는 대입식이 다른 큰 식의 하위 식이 아니라, if 문의 조건에서 대입식 자체가 0이 아닌지 비교하는 데 쓰였으므로 괄호가 필요하지 않았다. 다른 식과 마찬가지로 가능하면 대입식 주변에 괄호를 쓰는 일을 피해야 한다.
이런 반복적인 패턴의 변종으로, 조건에 따라 현재 위치를 둘러싸는 영역에 있는 변수에 값을 대입하고 그 변수를 바로 함수 호출에 사용하는 경우를 들 수 있다. 예를 들어 고객이 바나나 스무디를 주문했다고 하자. 스무디를 만들려면 바나나 슬라이스가 최소 두 개는 필요하고, 슬라이스가 부족하면 OutOfBananas 예외를 발생시켜야 한다. 이 로직을 전형적인 방식으로 작성하면 다음과 같다.
def slice_bananas(count): ... class OutOfBananas(Exception): pass def make_smoothies(count): ... pieces = 0 count = fresh_fruit.get('바나나', 0) if count >= 2: pieces = slice_bananas(count) try: smoothies = make_smoothies(pieces) except OutOfBananas: out_of_stock()