본문 바로가기
백엔드(Back-End)/Python

[Python] - 제어문 - 조건문(if, elif) 여러 가지 연산자

by TwoJun 2022. 8. 17.

[Programming Language ] - Python

 

 

이번 포스팅에는 Python의 제어문(Control statement) 중 하나인 조건문에 해당하는 if문에 대해 알아보겠습니다.

 

 

 

 

1. 제어문 또는 제어구문(Control statement)

- 컴퓨터 과학(Computer science, CS)에서 제어문 또는 제어구문이란 프로그램의 처리와 실행의 흐름을 제어하는 구문입니다.

- 알고리즘에 담겨진 논리 제어를 구문을 통해 표현할 수 있습니다.

- Python에서는 조건문(if, elif, else), 반복문(while, for)문을 통해 제어구문을 작성할 수 있습니다.

- 제어문을 작성할 땐, Python의 탭 간격(Tab)에 유의하며 작성합니다.

 

 

2. 조건문(Conditional statement) 

- 컴퓨터 과학에서 조건문이란 프로그램의 처리 로직에 특정한 조건을 주고 조건에 부합한다면 그 조건에 맞는 동작이 수행될 수 있도록 하는 제어문입니다.

- 명시한 조건식의 True, False 결과에 따라 실행문의 수행 여부가 결정됩니다.

 

 

 

3. if문

- Python의 조건문인 if문입니다.

- if문의 조건식이 True라면 실행문1이 수행되고, False라면 수행되지 않습니다.

 

- 문법

if(조건식1):

    실행문1

# 기본적인 if 문
if True:
    print("True입니다.")   # True입니다.
else:
    print("False입니다.")

 

 

4. 비교 연산자(Comparison operator)

- 비교 연산자(Comparison operator)란, 피연산자 두 개를 비교하는데 사용되는 연산자입니다.

- 제어문의 조건식에서 주로 사용되며 연산 결과로는 오로지 True와 False만을 반환하게 됩니다.

 

 

4-1. 대소 비교 연산자

- 두 개의 피연산자의 대소 여부에 따라 Boolean 타입을 반환하는 연산자입니다.

비교 연산자 해당 연산자의 의미
a > b 좌항인 a의 값이 더 크다면 True를 반환하고 아니면 False 반환
a < b 우항인 b의 값이 더 크다면 True를 반환하고 아니면 False 반환
a >= b 좌항인 a의 값이 우항인 b보다 더 크거나 같다면 True를 반환, 아니면 False 반환
a <= b 우항인 b의 값이 좌항인 a보다 더 크거나 같다면 True를 반환, 아니면 False 반환

 

# 비교연산자(Comparison operator)를 통한 if 문
a = 10
b = 20
if (a > b):
    print("a가 b보다 더 큽니다.")
else:
    print("a가 b보다 작습니다")     # a가 b보다 작습니다

 

 

4-2. 등가 비교 연산자

- 두 개의 피연산자의 등가 여부에 따라 Boolean 타입을 반환하는 연산자입니다.

- 문자열(String)에 대해선 해당 연산자를 사용할 수 없습니다.

등가 연산자 해당 연산자의 의미
a == b 좌항인 a와 우항인 b가 같다면 True를 반환, 아니면 False를 반환
a != b 좌항인 a와 우항인 b가 다르다면 True를 반환, 아니면 False를 반환

 

 

 

 

 

5. 논리 연산자(Logical operator)

- 논리 연산자(Logical operator)란, 두 개 이상의 조건에 해당되는 연산식의 True/False 여부를 결정하기 위해 사용되는 연산자입니다.

연산자 연산자의 의미
and (&) 피연산자가 모두 True이면 True를 반환
or (|) 피연산자 중 한 개가 True이면 True를 반환
not 피연산자가 True이면 False를 반환하고  False이면 True를 반환

 

- and 연산자를 이용한 코드 예시를 보겠습니다.

# 논리연산자(logic operator)를 통한 if 문
# AND
have_money = 3000;
have_card = True;
if(have_money and have_card):
    print("case 1: 교통수단을 이용할 수 있습니다.")
else:
    print("case 1: 도보를 이용하세요.")      # case 1: 교통수단을 이용할 수 있습니다.

 

 

- or 연산자를 이용한 코드 예시를 보겠습니다.

# OR
have_money = 3000;
have_card = True;
if(have_money or have_card):
    print("case 2 : 교통수단을 이용할 수 있습니다.")
else:
    print("case 2: 도보를 이용하세요.")      # case 2 : 교통수단을 이용할 수 있습니다.

 

 

- not 연산자를 이용한 코드 예시를 보겠습니다.

# NOT
have_card = True;
if(not have_card):
    print("case 3 : 교통수단을 이용할 수 있습니다.")
else:
    print("case 3 : 도보를 이용하세요.")      # case 3 : 도보를 이용하세요.

 

 

 

 

6. in, not in문

- 특정한 데이터가 존재하는지 조건문을 통해 확인할 수 있습니다

- in, not in 앞에는 탐색하고자 하는 데이터가 위치하게 됩니다.

- in, not in 에는 여러 가지 데이터들을 담을 수 있는 리스트, 튜플 자료형이 들어갑니다.

- and = &, or = | 처럼, in, not in를 대체할 수 있는 특정 기호는 없습니다.

# in, not in 
kakao_members = ["muzi", "frodo", "con", "apeach"]
if "frodo" in kakao_members:
    print("frodo 인형을 뽑을 수 있습니다.")      # frodo 인형을 뽑을 수 있습니다.
else:
    print("다른 인형을 뽑아야 합니다.") 

kakao_members = ["muzi", "frodo", "con", "apeach"]
if "neo" not in kakao_members:
    print("다른 인형을 뽑으세요.")
else:
    print("neo를 뽑을 수 있습니다.")    # 다른 인형을 뽑으세요.

 

 

 

 

7. elif문

- 다수의 조건을 판단할 수 있는 elif문입니다.

- 단순한 1개의 조건이 아닌 다수의 조건이 존재할 때 사용합니다.

 

- 문법 

if(조건식1):

    실행문1             #  조건식1이 true인 경우 실행 / false라면 다음 조건으로 넘어감.

elif(조건식2):

    실행문2             # 조건식2이 true인 경우 실행 / false라면 다음 조건으로 넘어감.

elif(조건식3):

    실행문3             #  조건식3이 true인 경우 실행 / false라면 다음 조건으로 넘어감.

...

else:

    실행문4            # 위의 모든 조건이 False라면 else문의 실행문 수행

# elif 문
student_score = 95

if student_score >= 90:
    print("해당 학생의 성적은 A입니다.")     # 해당 학생의 성적은 A입니다.
elif student_score >= 80 and student_score < 90:
    print("해당 학생의 성적은 B입니다.")
elif student_score >= 70 and student_score < 80:
    print("해당 학생의 성적은 C입니다.")
elif student_score >= 60 and student_score < 70:
    print("해당 학생의 성적은 D입니다.")
else:
    print("해당 학생의 성적은 F입니다.")

 

 

 

 

8. 조건부 표현식(Conditional expression)

- 간단하게 표현식의 형태로 조건문을 서술하는 방법입니다.

- 간단한 형태의 조건식을 표현할 때 위처럼 조건부 표현식을 사용할 수도 있습니다.

 

- 문법

변수명 = 실행문1 if 조건식(조건식이 True이면 실행문1 수행) else (실행문2)

# 조건부 표현식(Conditional Expression)
kakao_members = ["muzi", "frodo", "con", "apeach"]
result1 = "muzi가 존재합니다." if "muzi" in kakao_members else "muzi가 없습니다."
print(result1)     # muzi가 존재합니다.

# 조건식이 False라면, else 문이 실행됨. 
result2 = "neo가 존재합니다." if "neo" in kakao_members else "neo가 없습니다."
print(result2)    # neo가 없습니다.

 

9. Pass문

- 특정 조건식을 만족하여 True 값이 반환된 상태에서 실행문 내부에 pass문이 존재한다면 pass가 존재하는 라인은

아무것도 실행되지 않고 다음 실행문으로 넘어가게 됩니다.

- continue와 차이점은 만약에 조건식이 False라면 다음 Loop 자체로 넘어가게 된다는 차이점이 있습니다.

 

- 문법

if(조건식1):

    pass

# pass
list1 = [1, 2, 3]
if 1 in list1:
    print("1이 list 내부에 존재")           # 1이 list 내부에 존재
    pass
    print("위의 구문은 pass이기에 실행되지 않습니다.")    # 위의 구문은 pass이기에 실행되지 않습니다.
elif 2 in list1:
    print("2가 존재합니다.")
else:
    print("1이 존재하지 않습니다.")

 

 

 

 

이번 포스팅에선 Python의 제어구문 중 하나인 여러 가지 조건문에 대해 살펴보았습니다.

 

다음 포스팅에선 프로그램의 흐름을 제어하는 제어문 중 하나인 반복문에 대해 알아보겠습니다.

 

======================================================================

해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.

개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있습니다.

이에 대해 지적해 주시면 감사하겠습니다.

댓글