본문 바로가기

Programming/Phython

[파이썬] 10. if문

반응형

다른 언어와의 차이점

1. 들여쓰기

 

다른 프로그래밍 언어와 다른 점으로 수행할 문장을 들여쓰기 해야한다.

 

#정석은 아니지만 들여쓰기를 할 때에 공백 4개를 사용하는 것을 권장한다.

 

2. 조건문 다음의 콜론

간결한 명령어를 위해 들여쓰기를 하도록 만든 문법구조

 

if 조건문:
    수행할 문장1
    수행할 문장2
    ...
else:
    수행할 문장A
    수행할 문장B
    ...

 

재미있는 조건문

in not in
x in 리스트 x not in 리스트
x in 튜플 x not in 튜플
x in 문자열 x not in 문자열
>>> 1 in [1, 2, 3]
True
>>> 1 not in [1, 2, 3]
False

>>> 'a' in ('a', 'b', 'c')
True
>>> 'j' not in 'python'
True


>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
택시를 타고 가라
>>>

"만약 주머니에 돈이 있으면 택시를 타고, 없으면 걸어 가라."

 

아무 일도 하지 않게 설정하기

>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket:
...     pass 
... else:
...     print("카드를 꺼내라")
...

"주머니에 돈이 있으면 가만히 있고 주머니에 돈이 없으면 카드를 꺼내라."

 

 

다양한 조건을 판단하는 elif (elseif)

 

"주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어 가라."

같은 조건문을 표현하는 두가지 방법

>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...      print("택시를 타고가라")
... elif card: 
...      print("택시를 타고가라")
... else:
...      print("걸어가라")
...
택시를 타고가라
>>> pocket = ['paper', 'handphone']
>>> card = True
>>> if 'money' in pocket:
...     print("택시를 타고가라")
... else:
...     if card:
...         print("택시를 타고가라")
...     else:
...         print("걸어가라")
...
택시를 타고가라
>>>

elif는 이전 조건문이 거짓일 떄 수행된다. 또한 개수에 제한 없이 사용할 수 있다.

if와 else만을 이용해 같은 조건문을 만들 수 있지만 더 간결한 프로그래밍을 위해 elif를 사용한다.

 

if문을 한 줄로 작성하기 (콜론 뒤에 수행문을 적기)

>>> if 'money' in pocket:
...     pass 
... else:
...     print("카드를 꺼내라")
...


>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket: pass
... else: print("카드를 꺼내라")
...

 

조건부 표현식

if score >= 60:
    message = "success"
else:
    message = "failure"
    
    
    
    message = "success" if score >= 60 else "failure"

조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우

 

같은 조건문이지만 가독성에 유리하고 한 줄로 작성이 가능하다.

 

반응형

'Programming > Phython' 카테고리의 다른 글

[파이썬] 12. for문  (0) 2021.02.14
[파이썬] 11. while문  (0) 2021.02.14
[파이썬] 자료형 정리  (0) 2021.02.14
[파이썬] 9. 변수  (0) 2021.02.12
[파이썬] 8. 불  (0) 2021.02.12