비교 연산자의 우선순위는 산술 연산자보다는 낮고 불 연산자보다는 높으므로, (b*b - 4.0*a*c) >= 0.0
과 같은 표현식에서는 괄호가 필요 없으며, month
가 1
과 12
사이에 있는지 검사하기 위해서는 괄호 없이 month >= 1 and month <= 12
처럼 표현식을 작성할 수 있다(그러나 괄호를 사용하면 표현식의 의도를 명확히 알려주므로, 더 좋은 코딩 스타일이다).
비교 연산은 불 논리와 함께 파이썬에서 의사 결정을 하는 기반이 된다. [프로그램 1.2.5]를 보면 해당 년도가 윤년인지 판단하기 위해 불 표현식과 비교 연산자를 사용하는 방법을 알 수 있다. 이번 절 끝에 나오는 연습문제에서 다른 예를 볼 수 있다. 그리고 더욱 복잡한 프로그램에서 불 표현식이 수행하는 역할은 1.3절에서 설명한다.
프로그램 1.2.5 윤년 판별 (leapyear.py)
import sys import stdio year = int(sys.argv[1]) isLeapYear = (year % 4 == 0) isLeapYear = isLeapYear and ((year % 100) != 0) isLeapYear = isLeapYear or ((year % 400) == 0) stdio.writeln(isLeapYear)
% python3 leapyear.py 2016 True % python3 leapyear.py 1900 False % python3 leapyear.py 2000 True
이 프로그램은 정수형으로 입력받은 년도가 그레고리력에서 윤년에 해당하는지 검사한다. 4로 나누어지면 윤년이지만(2004), 4로 나누어지되 100으로 나누어지면 윤년이 아니다(1900). 그러나 100으로 나누어지되 400으로 나누어지면 윤년이다(2000).