[Python] if문
- 파이썬(Python)
- 2022. 1. 31. 07:23
참조
소개
- 파이썬을 공부해야 할 일이 생겨서, 위키독스에 올라와 있는 점프 투 파이썬 내용을 보면서 파이썬 공부한 내용을 기록합니다.
- 보다 자세한 내용은 점프 투 파이썬 해당 사이트에 가셔서 더 깊게 확인하실 수 있습니다.
if문의 기본 구조
- 다음은 if와 else를 사용한 조건문의 기본 구조입니다.
if 조건문:
수행할 문장1
수행할 문장2
...
else:
수행할 문장A
수행할 문장B
...
- 조건문을 테스트해서 참이면 if문 바로 다음 문장들을 수행하고, 조건문이 거짓이면 els 문 다음 문장들을 수행하게 됩니다.
- 그러므로 else문은 if문 없이 독립적으로 사용할 수 없습니다.
들여쓰기
- if문을 만들 때는 if 조건문: 바로 아래 문장부터 if문에 속하는 모든 문장에 들여쓰기를 해주어야 합니다.
- 다른 프로그래밍 언어를 사용해온 사람들은 파이썬에서 "수행할 문장" 을 들여쓰기 하는 것을 무시하는 경우가 있으니 주의해야 합니다.
if 조건문:
수행할 문장1
수행할 문장2
수행할 문장3
- 아래와 같이 작성하게 되면 오류가 발생하게 됩니다.
- "수행할 문장2" 를 들여쓰기 하지 않았기 때문입니다.
if 조건문:
수행할 문장1
수행할 문장2
수행할 문장3
파이썬 들여쓰기
- 오래전부터 파이썬에서 들여쓰기 관련하여 많은 논란이 있었습니다.
- 공백(spacebar) 로 하는 것이 좋은지, 탭(Tab) 으로 하는 것이 좋은지에 대해서 말입니다.
- 결론은 요즘 파이썬 커뮤니티에서는 들여쓰기를 할 때 공백(spacebar) 4개를 사용하는 것을 권장합니다.
조건문이란?
- if 조건문에서 "조건문" 이란 참과 거짓을 판단하는 문장을 말합니다.
>>> money = True
>>> if money:
- money는 True이기 때문에 조건이 참이 되어 if문 다음 문장을 수행합니다.
and, or, not
- 조건을 판단하기 위해 사용하는 다른 연산자로는 and, or, not 이 있습니다.
- 각각의 연산자는 다음처럼 동작합니다.
연산자 | 설명 |
---|---|
x or y | x와 y 둘중에 하나만 참이어도 참이다 |
x and y | x와 y 모두 참이어야 참이다 |
x not y | x 가 거짓이면 참이다 |
- 다음 예를 통해 or 연산자의 사용법을 알아봅니다.
돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 그렇지 않으면 걸어가라.
>>> money = 2000
>>> card = True
>>> if money >= 3000 or card:
... print("택시를 타고 가라")
... else:
... print("걸어가라")
...
택시를 타고 가라
>>>
- money는 2000이지만 card가 True 이기 때문에 money >= 3000 or card 조건문이 참이 됩니다.
- 따라서 if문 다음 택시를 타고 가라 문장이 출력됩니다.
x in s, x not in s
- 더 나아가 파이썬은 다른 프로그래밍 언어에서 쉽게 볼 수 없는 재미있는 조건문을 제공합니다.
in | not in |
---|---|
x in 리스트 | x not in 리스트 |
x in 튜플 | x not in 튜플 |
x in 문자열 | x not in 문자열 |
- 다음 예를 통해 x in s 연산자릐 사용법을 알아봅니다.
>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket:
... print("택시를 타고 가라")
... else:
... print("걸어가라")
...
택시를 타고 가라
>>>
- ['paper', 'cellphone', 'money'] 리스트 안에 'money'가 있으므로 'money' in pocket은 참이 됩니다.
- 따라서 if문 다음 문장이 수행됩니다.
다양한 조건을 판단하는 elif
- if와 else 만으로는 다양한 조건을 판단하기 어렵습니다.
주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어 가라.
- 위 문장을 보면 조건을 판단하는 부분이 2 군데가 있습니다.
- 먼저 주머니에 돈이 있는지를 판단해야 하고 주머니에 돈이 없으면 다시 카드가 있는지 판단해야 합니다.
- if와 else 만으로 위 문장을 표현하려면 다음과 같이 할 수 있습니다.
>>> pocket = ['paper', 'handphone']
>>> card = True
>>> if 'money' in pocket:
... print("택시를 타고가라")
... else:
... if card:
... print("택시를 타고가라")
... else:
... print("걸어가라")
...
택시를 타고가라
>>>
- 언뜻 보기에도 구조가 한눈에 들어오지 않습니다.
- 이때 elif를 사용하게 되면 구조가 쉽게 변경됩니다.
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
... print("택시를 타고가라")
... elif card:
... print("택시를 타고가라")
... else:
... print("걸어가라")
...
택시를 타고가라
- 위에서 볼 수 있듯이 elif는 개수에 제한 없이 사용할 수 있습니다.
조건부 표현식
- 아래와 같은 코드가 있습니다.
if score >= 60:
message = "success"
else:
message = "failure"
- 위 코드는 score가 60 이상일 경우 message에 문자열 "success"를, 아닐 경우에는 "failure"를 대입하는 코드입니다.
- 파이썬의 조건부 표현식을 사용하면 위 코드를 다음과 같이 간단히 표현할 수 있습니다.
message = "success" if score >= 60 else "failure"
- 조건부 표현식은 다음과 같이 정의합니다.
조건문이 참인 경우
if조건문
else조건문이 거짓인 경우
- 조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어 활용성이 좋습니다.
728x90
'파이썬(Python)' 카테고리의 다른 글
[Python] for문 (0) | 2022.02.05 |
---|---|
[Python] while문 (0) | 2022.02.05 |
[Python] 변수 (0) | 2022.01.29 |
[Python] boo(불) 자료형 (0) | 2022.01.29 |
[Python] 집합(Set) (0) | 2022.01.29 |
이 글을 공유하기