파이썬 파트 3. 조건문

1. 불 자료형


불이란?

  • Boolean은 불린 또는 불리언이라는 발음으로 부른다.
  • 프로그래밍에서는 짧게 Bool이라고 쓰기도 한다.
  • 불은 오직 True(참) False(거짓) 값만 가질 수 있다.(첫 글자만 대문자)


불 만들기: 비교 연산자

숫자 또는 문자열에 적용이 가능하다.

연산자설명연산자설명
==같다>크다
!=다르다<=작거나 같다
<작다>=크거나 같다

불은 비교연산자를 통해 만들 수 있다. 문자열에서도 비교연산이 가능한데 한글은 사전순서(가나다순)로 앞에 있는 것이 작은 값을 같는다.

볼 연산하기: 논리 연산자

연산자의미설명
not아니다불을 반대로 전환한다
and그리고피연산자 두 개가 모두 참일 때 True, 그외에는 False 출력
or또는피연산자 두 개중 하나만 참이라도 True, 두 개가 모두 거짓일때만 False 출력

cf) 단항 연산자와 이항 연산자
단항 연산자는 피연산자가 한 개라는 말이고, 이항 연산자는 피연산자가 두 개라는 말이다. 예를 들면 +10의 +는 단항 연산자이고 10 + 10 에서 +는 이항 연산자이다.

2. if 조건문


if 불 값이 나오는 표현식 :  # 조건문 뒤에는 반드시 : 콜론을 붙여줘야함
    불 값이 참일 때 실행할 문장 # if 다음 문장은 반드시 4칸 들여쓰기


날짜/시간 활용하기

# 모듈이라는 기능을 활용해 날짜/시간과 관련된 기능을 가져온다
import datetime

# 현재 날짜/시간을 구한다
now = datetime.datetime.now()

# 길이가 길면 \을 사용하고 다음줄에 써도 무관하다.
print("{}년 {}월 {}일 {}시 {}분 {}초".\
      format(now.year,now.month, now.day,now.hour,now.minute,now.second))

if 3<= now.month <= 5:
    print("봄")
elif 6 <= now.minth <=8 :
    print("여름")
elif 9 <= now.minth <=11 :
    print("가을")
else :
    print("겨울")

elif 사용시 불필요한 연산 실수 주의

if score == 4.5 :
    print("신")
elif 4.2 <= score   # score < 4.5 는 불필요하다. 위에서 이미 걸러짐

cf) 처리 속도 : 숫자 > 문자열
컴퓨터는 모든 것을 숫자로 계산하기 때문에 문자열 연산보다 숫자 연산이 조금 더 빠르다.


False로 변환되는 값

if 조건문의 매개변수에 불이 아닌 다른 값이 올 때는 자동으로 이를 불로 변환해서 처리한다.

  • False로 변환되는 값 : None, 숫자 0 과 0.0, 빈 컨테이너(빈 문자열, 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등) // 뭔가 없는 것 같은 것을 False라고 기억하자
  • 이외의 값는 True


pass 키워드

프로그래밍 하다 보면 일단 프로그래밍 전체 골격을 잡아 높고 내부에서 처리할 내용을 나중에 구현하겠다는 의도로 사용한다.

if number > 0 :
    pass
else :
    pass

cf) raise NotImplementedError
pass라고 입력해뒀어도 잊어버리는 경우를 대비해서 사용한다.

if number > 0 :
     raise NotImplementedError
else :
     raise NotImplementedError

코드는 정상적으로 실행되나 구현되지 않은 부분에 들어서는 순간 NotImplementedError 이라는 오류를 발생시킨다.


© 2021. By Backtony