본문 바로가기
Spec UP - Backend/혼자 공부하는 파이썬

chap_03. 조건문

by TIS_Ha 2023. 8. 31.
반응형

프로그래밍 언어에는 기본적인 자료형으로 참과 거짓을 나타내는 불(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

댓글