파이썬 파트 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 이라는 오류를 발생시킨다.