Python
[개미의 걸음 Python 18차시] 조건문 : if, if~else, elif & pass 키워드
IT개미 데이터
2020. 7. 18. 23:23
728x90
# 구문에서 문자열 사용시 주의할 점
더보기


구문에서 여러 줄의 문자열을 사용할 때 들여쓰기를 할 경우, 두번째 줄부터 들여쓰기 된 채 출력

그러므로 들여쓰기 하지 않기, \n사용 등을 사용해서 이를 수정할 수 있다.

if 조건문
조건에 따라 코드를 실행하거나 실행하지 않도록 할 때 사용하는 구문
- 조건을 기반으로 실행의 흐름을 변경하는 것을 조건 분기[Conditional branch]라고 함
- if조건문을 어떻게 활용하느냐에 따라 효율성이 결정됨!
# 분기
더보기
기본적인 프로그램 실행 흐름을 다른 곳으로 변경하는 프로그램 명령
무조건 분기 [Unconditional Branch] |
조건에 상관없이 프로그램의 실행 흐름을 정해진 위치로 변경하는 것 |
조건 분기 [Conditional Branch] |
조건을 기반으로 프로그램의 실행 흐름을 정해진 위치로 변경하는 것 |
if구문 내의 print( )안의 문자열은 실행이 되지 않아 출력되지 않지만 그냥 print( )안의 문자열은 출력됨을 알 수 있다.
# if 조건문의 매개변수에서 False로 인식되는 값
더보기

None, 숫자0, 숫자 0.0, 빈 컨테이너[빈문자열, 빈바이트열, 빈리스트, 빈튜플, 빈딕셔너리 등]
위의 경우를 제외한 모든 것들은 True로 인식됨!

if ~ else 조건문
if조건문이 성립할 때와 성립하지 않을 때를 구분할 때 효율적인 방법
-
결과가 둘 중 하나일 때[합*불, 홀*짝 등] if구문을 두 번 쓰는 것보다 else구문을 활용하는 것이 효율적
-
여러 번 시행하게 될 경우, if구문을 두 번 쓰는 것보다 시간을 훨씬 단축시킬 수 있다.
elif 조건문
세 개 이상의 조건을 연결할 때 사용하는 방법
-
보통 if 조건문과 else 조건문 사이에 elif 조건문을 입력
-
elif 뒤에 else를 사용하지 않아도 사용 가능
효율적인 조건문 사용을 위한 if, elif, else의 활용
조 건 | 설 명[대학생 구분] | 조 건 | 설 명[대학생 구분] |
학점 == 4.5 | 신 | 1.75≤ 학점 <2.3 | 오락문화의 선구자 |
4.2≤ 학점 <4.5 | 교수님의 사랑 | 1.0≤ 학점 <1.75 | 불가촉천민 |
3.5≤ 학점 <4.2 | 현 체제의 수호자 | 0.5≤ 학점 <1.0 | 자벌레 |
2.8≤ 학점 <3.5 | 일반인 | 0< 학점 <0.5 | 플랑크톤 |
2.3≤ 학점 <2.8 | 일탈을 꿈꾸는 소시민 | 0 | 시대를 앞서가는 혁명의 씨앗 |
- 같은 결과값을 도출하는 조건문이지만 왼쪽과 오른쪽의 조건문들은 효율성에서 차이가 존재
- 왼쪽의 경우 위에서 이미 제외된 조건을 한 번 더 검사하므로 비효율적
- 오른쪽의 경우 위에서 이미 제외된 조건을 제외하고 검사하므로 왼쪽보다 효율적
pass 키워드
if구문을 나중에 완성하고 싶을 때 조건문을 완성하기 위해 pass를 사용
- 다른 프로그래밍 언어에서는 if조건문을 완성하지 않아도 정상적인 실행 가능
- 파이썬의 경우, if조건문을 완성하지 않을 경우 IndentationError가 발생
728x90