프로그래밍 언어에는 기본적인 자료형으로 참과 거짓을 나타내는 불(boolean) 값이 있다.
Boolean은 불린 또는 불리언이라고 부르며 프로그래밍에서는 Bool이라고 쓰이기도 한다.
Bool은 오직 True(참)과 False(거짓)값만 가질 수 있다.
Bool 연산하기 : 비교 연산자
연산자 | == | != | > | < | >= | <= |
설명 | 같다 | 다르다 | 크다 | 작다 | 크거나 같다 | 작거나 같다 |
Bool 연산하기 : 논리 연산자
연산자 | 의미 | 설명 |
not | 아니다 | 참과 거짓을 반대로 전환한다. (단항연산자) |
and | 그리고 | 피연산자 두개가 모두 참일 때 True를 출력하며, 그 외는 모두 False를 출력한다. |
or | 또는 | 피연산자 두개 중 하나만 참이라도 True를 출력하며, 두개가 모두 거짓일때만 False를 출력한다. |
단항연산자 : 피연산자가 한개, 이항연산자 : 피연산자가 두개
if 조건문이란?
if 조건문은 조건에 따라 코드를 실행하거나, 실행하지 않게 만들고 싶을 때 사용하는 구문이다.
이렇게 조건을 기반으로 실행의 흐름을 변경하는 것을 '조건 분기'라고 부른다.
if 조건문은 아래 예시와 같이 if Bool값이 나오는 표현식 ~ Bool값이 참일때 실행할 문장으로 표현한다.
if True:
print("True입니다")
print("참입니다")
if 뒤에 있는 Bool 값이 거짓인 경우에는 아무것도 실행되지 않는다.
아래 예제의 양수,음수,0과 같이 각 조건에 해당하는 명령문이 실행되도록 if문을 만들수 있다.
number = input("정수입력>")
number = int(number)
#양수 조건
if number > 0:
print("양수입니다.")
#음수 조건
if number < 0:
print("음수입니다.")
#0 조건
if number == 0:
print("0입니다.")
<날짜/시간 활용하기>
import datetime #날짜/시간과 관련된 기능을 가져옵니다.
#현재 날짜와 시간을 구합니다.
now = datetime.datetime.now()
print(now.year,"년")
print(now.month,"월")
print(now.day,"일")
print(now.hour,"시")
print(now.minute,"분")
print(now.second,"초")
print("{}년 {}월 {}일 {}시 {}분 {}초".format(
now.year, now.month, now.day, now.hour, now.minute, now.second
))
if now.hour < 12:
print("현재 시각은 {}시로 오전입니다.".format(now.hour))
if now.hour >= 12:
print("현재 시각은 {}시로 오후입니다.".format(now.hour))
if 6 <= now.month <=8 :
print("이번달은 {}월로 여름입니다.".format(now.month))
if 9 <= now.month <=11 :
print("이번달은 {}월로 가을입니다.".format(now.month))
<짝수와 홀수 구분하기>
number = input("정수 입력 > ")
last_character = int(number[-1]) # 마지막자리 숫자 추출하여 정수로 변환
#짝수/홀수 조건 (or 논리연산자 활용)
if last_character == 0 \
or last_character == 2 \
or last_character == 4 \
or last_character == 6 \
or last_character == 8:
print("짝수입니다.")
#짝수/홀수 조건 (in 문자열 연산자 활용)
if last_character in "02468" :
print("짝수입니다.") # 마지막 자리 숫자가 0,2,4,6,8인 경우
if last_character in "13579":
print("홀수입니다.") # 마지막 자리 숫자가 1,3,5,7,9인 경우
#짝수/홀수 조건 (% 나머지 연산자 활용)
number2 = input("정수 입력 >")
number2 = int(number2)
#짝수조건
if number2 % 2 == 0:
print("짝수입니다.") # 2로 나눈 나머지가 0인 경우
#홀수조건
if number2 % 2 == 1:
print("홀수입니다.") # 2로 나눈 나머지가 1인 경우
if~else와 elif 구문
else 조건문의 활용
else 구문은 if 조건문 뒤에 사용하며, if 조건문의 조건이 거짓일 때 실행되는 부분이다.
number = input("정수입력> ")
number = int(number)
if number % 2 == 0:
print("짝수입니다.") #조건이 참일때, 즉 짝수일때 실행
else:
print("홀수입니다.") #조건이 거짓일때, 즉 홀수일때 실행
elif 구문
elif 구문은 if조건문과 else 구문 사이에 입력하며, 여러 조건 설정이 필요할 때 사용한다.
import datetime
now=datetime.datetime.now()
month = now.month
if 3<= month <=5:
print("현재는 봄입니다.")
elif 6<= month <=8:
print("현재는 여름입니다.")
elif 9<= month <=11:
print("현재는 가을입니다.")
else:
print("현재는 겨울입니다.")
False로 변환되는 값
if 조건문의 매개변수에 불이 아닌 다른 값이 올때는 이를 불로 변환해서 처리한다.
이 때 False로 변환되는 값은 None, 숫자 0과 0.0, 빈 컨테이너(빈 문자열, 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등)
이 외에는 모두 True로 변환되므로 위에 언급한 세가지 값에 유의하자.
pass 키워드
프로그래밍을 하다보면 일단 프로그래밍의 전체 골격(스켈라톤코드)을 잡아 놓고 내부에서 처리할 내용은 추후 만들겠다는 의도로 코딩하는 경우가 많다.
이 때 if 구문 사이에는 어떠한 내용이라도 넣어주어야 정상적으로 실행되기 때문에 pass라는 키워드를 사용한다.
코드를 살펴보는 중 pass 키워드를 만나면 '곧 개발하겠음' 이라는 의미로 이해할 수 있다.
pass 키워드와 비슷한 내용으로 raise 키워드를 활용할 수 있다.
pass 키워드를 입력해두었다 하더라도 이후 개발자가 잊어버릴 수 있는 반면,
rais NotImplementedError 키워드를 사용하면 코드의 실행은 정상적으로 진행되나,
구현되지않은 코드가 실행되는 순간 NotImpletementedError 오류를 발생 시켜 아직 구현되지 않은 코드가 있음을 인지시킬수 있다.
* IndentationError : 들여쓰기가 잘못되어있을 때 발생되는 에러
'Spec UP - Backend > 혼자 공부하는 파이썬' 카테고리의 다른 글
chap_04-3. 범위 자료형과 while 반복문 (0) | 2023.10.13 |
---|---|
chap_04. 반복문 (0) | 2023.09.14 |
chap_02. 숫자와 문자열의 다양한 기능 (0) | 2023.07.31 |
chap_02. 변수 (1) | 2023.07.31 |
chap_02. 자료형 (0) | 2023.07.31 |
댓글