[파이썬] 조건문 if elif else
'면허시험 필기 점수가 60점이상 이면 합격이고 미만이면 불합격이다'
이와 같이 60점 이상 또는 미만이라는 조건에 따라 합격, 불합격 처리를 해야 하는 것처럼
주어진 조건을 판단한 후 그 상황에 맞게 처리해야 할 경우가 생긴다
다른 언어와 마찬가지로 파이썬에서도 if와 else를 사용한다.
if와 else를 이용한 조건문의 기본 구조
if 조건문:
수행할 문장1
수행할 문장2
...
else:
수행할 문장A
수행할 문장B
...
파이썬이 다른 언어와 차이점 두가지가 있다.
if 조건문 뒤에는 반드시 콜론(:)이 붙는다.
수행할 문장은 반드시 if문보다 들여쓰기를 해야 한다.
콜론은 if뿐만이 아니라 나중에 나올 while, for, def, class 에도 쓰인다.
다른 언어에서는 조건문, 반복문, 함수, 클래스 등의 구분을 중괄호{ }로 하는 경우가 많은데
파이썬은 그 범위의 구분을 들여쓰기로 구분한다.
if문에서도 수행할 문장을 if문 보다 들여쓰기를 해야 조건이 만족했을 때 수행하는 문장이라 인식한다.
들여쓰기는 공백, 탭 모두 가능하지만 개인적으로는 탭이 보기 편한거 같다.
(※파이썬 커뮤니티에서는 들여쓰기를 할 때 공백(Spacebar) 4개를 사용하는 것을 권장한다.)
if 조건문에서 "조건문"이란 참과 거짓을 판단하는 문장을 말한다.
보통 값이 있으면 참, 값이 0이거나 비어있으면 거짓을 나타낸다.
자료형 | 참 | 거짓 |
숫자 | 0이 아닌 숫자 | 0 |
문자열 | "abc" | "" |
리스트 | [1,2,3] | [] |
터플 | (1,2,3) | () |
딕셔너리 | {"a":"b"} | {} |
비교연산자
조건이 참인지 거짓인지 판단할 때 자료형보다는 비교연산자(<, >, ==, !=, >=, <=)를 쓰는 경우가 많다.
비교연산자 | 설명 |
x <y | x가 y보다 작다 |
x >y | x가 y보다 크다 |
x == y | x와 y가 같다 |
x != y | x와 y가 같지 않다 |
x >= y | x가 y보다 크거나 같다 |
x <= y | x가 y보다 작거나 같다 |
and, or, not
여러가지의 조건문을 동시에 사용할 때 주로 and, or, not을 조합하여 사용한다.
다른 언어의 &&, ||, ! 와 같은 기능을 수행한다.
연산자 | 설명 |
x or y | x와 y 둘중에 하나만 참이면 참이다 |
x and y | x와 y 모두 참이어야 참이다 |
not x | x가 거짓이면 참이다 |
x in s, x not in s
X 가 S에 속해 있나 속해 있지 않느냐를 판단하는 조건문이다.
in 을 쓰면 속해있을 때, not in을 쓰면 속해있지 않을 때 True를 반환한다.
in | not in |
x in 리스트 | x not in 리스트 |
x in 튜플 | x not in 튜플 |
x in 문자열 | x not in 문자열 |
[조건문에서 아무 일도 하지 않게 설정하고 싶다면?]
이럴 때 사용하는 것이 바로 pass이다.
이는 다른언어의 continue와 비슷하다. 클래스나 다른곳에도 쓰이니 여기에선 넘어간다.
다양한 조건을 판단하는 elif
파이썬에서는 다중 조건 판단을 가능하게 하는 elif라는 것을 사용한다.
다음과 같이 조건이 여러개 일 때 사용한다.
'파이썬 > 파이썬 기본 문법' 카테고리의 다른 글
[파이썬] 함수 function def (0) | 2018.12.10 |
---|---|
[파이썬 반복문] while, for (0) | 2018.12.07 |
[파이썬 자료형] 집합자료형 set (0) | 2018.12.07 |
[파이썬 자료형] 딕셔너리 Dictionary (0) | 2018.12.06 |
[파이썬 자료형] 튜플 tuple (0) | 2018.12.06 |
댓글