상세 컨텐츠

본문 제목

[개미의 걸음 Python 18차시] 조건문 : if, if~else, elif & pass 키워드

Python

by 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

관련글 더보기

댓글 영역