불 자료형과 if 조건문
프로그래밍 언어엔 불(Boolean)이라는 참과 거짓을 나타내는 값이 있다
불은 오직 “참”, “거짓” 두가지의 값만 가질 수 있다
비교 연산자
불은 비교 연산자를 사용하여 만들 수 있다
연산자 설명
== | 같다 |
≠ | 다르다 |
< | 작다 |
> | 크다 |
≤ | 작거나 같다 |
≥ | 크거나 같다 |
파이썬의 경우 문자열에도 비교연산자를 사용할 수 있다
사전 순서대로 진행하여 예를들어 “가방”과 “하마”를 비교했을 시
“가방”의 “가”가 “하마”의 “하”보다 먼저 사전 상 위치하기에
“가방”이 “하마” 보다 작다 라는 결과가 나온다
print("가방" < "하마")
#결과
True
범위구하기
파이썬은 다음과 같은 코드를 사용해서 범위를 구할 수 있다
x=25
print(10<x<=30)
#result
True
논리 연산자
불끼리 연산 시 논리 연산자를 사용할 수 있다
연산자 의미 설명
not | 아니다 | 불을 반대로 전환함 (True → False) |
and | 그리고 | 불이 모두 True 일때 True, 하나라도 False면 False 반환 |
or | 또는 | 불 중에 하나라도 True면 True 반환 |
not 연산자
print(not True)
print(not False)
#result
False
True
and 연산자, or 연산자
and 연산자 개념 → 양변이 모두 True 일때만 True 반환
좌변 우변 결과
True | True | True |
True | False | False |
False | True | False |
False | False | False |
or 연산자 개념 → 양 변 중 하나라도 True면 True 반환
좌변 우변 결과
True | True | True |
True | False | True |
False | True | True |
False | False | False |
논리 연산자의 사용
- and - 두 가지 조건을 모두 충족시킬 때 사용
- or - 둘 중 하나만 조건을 충족시킬 때 사용
if 조건문이란?
파이썬에서 if 조건문을 사용하면 조건에 따라 코드를 실행 여부를 결정할 수 있게하는 구문이다.
#기본적인 구조
if 불 값이 나오는 표현식:
불 값이 참일 때 실행되는 코드
불 값이 참일 때 실행되는 코드
#앞에 띄어쓰기 4칸을 반드시 해야 파이썬이 if 밑에 있는 코드라고 인식을 하고 돌작함
활용 예시
number = int(input("input degit: ")) #숫자 입력력
if number >0: #만약 입력받은 숫자가 0보다 크면면
print("양수") #양수를 출력해라라
if number<0: #만약 입력받은 숫자가 0보다 작으면면
print("음수") #음수를 출력해라라
if number==0: #만약 입력받은 숫자가 0이면면
print(0) #0을 출력해라라
#result
input degit: 3
양수
날짜/시간 활용하기
import datetime #모듈에서 배울 datetime 기능 가져오기
now = datetime.datetime.now() #현재 날짜/시간 가져오기
print("{}년 {}월 {}일 {}시 {}분 {}초".format(now.year, now.month, now.day, now.hour, now.minute, now.second))
#result
2025년 2월 5일 13시 51분 24초
Chapter 7에서 살펴볼 모듈인 datetime 모듈을 사용하여 날짜와 시간을 구한 후
이를 2장에서 살펴본 format 함수를 사용하여 현재 시간을 알려주는 문장을 출력함
이를 바탕으로 조건문을 사용해 오전 오후를 구분하는 코드를 예시로 구현함
import datetime
now = datetime.datetime.now()
if now.hour < 12:
print("현재 시각은 {}시로 오전입니다!".format(now.hour))
if now.hour > 12:
print("현재 시각은 {}시로 오후입니다!".format(now.hour))
#result
현재 시각은 13시로 오후입니다!
if~else 와 elif 구문
조건이 두개로 나눠지는 상황속에서 if를 두번 사용해서 조건을 나누는 것은 상당히 비효율적이다
else 조건문의 활용
else 구문은 if 조건문 뒤에 사용하며, if 조건문의 조건이 거짓일 때 실행되는 부분이다.
if 조건:
조건이 참일 때 실행되는 부분
else:
조건이 거짓일 때 실행되는 부분
예제
number = int(input("정수 입력: "))
if number%2 == 0:
print("짝수")
else:
print("홀수")
#result
정수 입력: 98
짝수
elif 구문
조건이 두가지로 구분되지 않을때 (계절, 요일 등) 세 개 이상의 조건을 연결해서 사용 시 사용
if 조건A:
조건A가 참일 때 실행되는 부분
elif 조건B:
조건 B가 참일 때 실행되는 부분
else:
조건들이 모두 거짓일 때 실행되는 부분
예제
import datetime
now = datetime.datetime.now() #현재시간 : 2025년 2월 5일
if 3 <= now.month <= 5:
print("봄")
elif 6 <= now.month <=8:
print("여름")
elif 9<=now.month<=11:
print("가을")
else:
print('겨울')
False로 변환되는 값
- None
- 0
- 0.0
- 빈 문자열
- 빈 바이트열
- 빈 리스트
- 빈 튜플
- 빈 딕셔너리
- 빈 컨테이너
이것들 외에는 모두 True로 반환
print("zero in if")
if 0:
print("0 returns false")
else:
print("0 returns true")
print("nothing in string")
if "":
print("nothing returns false")
else:
print("nothing returns true")
#result
zero in if
0 returns fasle
nothing in string
nothing returns false
pass 키워드
나중에 구현하려고 비워둔 구문이 있을때 “그냥 넘어가라”라는 뜻으로 사용하는 키워드
if나 else 사이에 어떤 내용도 없으면 ‘IdentationError’ 예외가 나타나기에
어떤 내용이라도 넣어줘야 한다.
number = int(input("number: "))
if number > 0:
pass
else:
pass
print("pass가 실행됬습니다")
#result
number: 5
pass가 실행됬습니다
raise NotImplementedError
미구현 상태를 표현하는 NotImplementedError를 raise 키워드를 사용해 강제로
발생시킬 수도 있다
'[파이썬]' 카테고리의 다른 글
[파이썬] recursion(재귀)와 메모화의 중요성 (0) | 2025.02.08 |
---|---|
[파이썬] 파이썬 함수와 매개변수 (0) | 2025.02.08 |
[파이썬] for 반복, while 반복과 딕셔너리, 그리고 iterable & iterator (0) | 2025.02.06 |
[파이썬] string, int, float, bool 등의 파이썬 기본 자료형 (0) | 2025.02.04 |
[파이썬] 파이썬이란? (0) | 2025.02.04 |