안녕하세요 주니입니다.
이 글에서는 파이썬의 if 조건문에 대해서 알아보도록 하겠습니다.
if 문
파이썬 공식 홈페이지를 보면 아래와 같이 BNF로 서술된 문법 설명이 있습니다.
본문을 확인 하고 싶으시다면 아래 링크로 확인하시면 됩니다.
if statement
if_stmt ::= "if" expression ":" suite ("elif" expression ":" suite)* ["else" ":" suite]
그럼, 하나씩 풀어보겠습니다.
먼저, 쌍따옴표를 이용한 단어들은 심볼입니다.
해당 문장을 사용하기 위해서는 해당 심볼을 기본적으로 사용해야 한다는 의미입니다.
expression은 파이썬의 표현식입니다.
if문에서는 조건문이라고 생각하시면 됩니다.
suite는 파이썬 문장들입니다.
하나의 문장이 아니라 여러개의 문장이 들어 갈 수 있습니다.
문법 설명을 보면,
suite ::= stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT statement ::= stmt_list NEWLINE | compound_stmt stmt_list ::= simple_stmt (";" simple_stmt)* [";"]
위와 같이 설명을 하고 있습니다.
간단하게 설명하자면,
파이썬의 문장들은 쉼표 ","를 구분자로 한 줄에 여러 문장을 표현 할 수 있습니다.
또는, 새 줄에서 들여쓰기(indent)를 한번 하고 문장을 표현 할 수 있습니다.
예를 들면,
if grade > 90 : print(1), print(2), ...
처럼 표현 하거나,
if grade > 90 :
print(1)
print(2)
...
와 같은 식으로 표현 할 수 있습니다.
여기까지를 예로 들면,
if grade > 90 : print("A")
와 같은 식으로 표현을 할 수 있습니다.
"grade > 90"은 expression이 됩니다.
"print("A")"는 suite가 됩니다.
그럼 이어서 다음 줄을 보겠습니다.
괄호를 이용한 (...)* 부분은 생략을 해도 되고 여러 번 사용을 해도 된다는 의미입니다.
결과적으로, "elif"로 시작하는 문장은 여러번 사용 하거나, 아에 사용하지 않을 수 있습니다.
사용 예를 들면,
elif grade > 80 : print("B")
elif grade > 70 : print("C")
elif grade > 60 : print("D")
와 같은 식으로 표현을 할 수 있습니다.
마지막으로,
대괄호 []로 둘러 싸인 부분은 선택사항입니다.
필요없다면, 생략해도 되는 부분입니다.
예를 들면,
else : print("F")
처럼 표현 할 수 있습니다.
하나로 합친 코드를 확인 해보겠습니다.
grade = 85 if grade > 90 : print("A") elif grade > 80 : print("B") elif grade > 70 : print("C") elif grade > 60 : print("D") else : print("F")
grade의 값인 85는 90보다 작고 80보다 큽니다.
첫 번째 if의 expression을 만족하지 못합니다.
두 번째 elif의 expression을 만족합니다.
그러므로, 두 번째 elif에 포함된 문장인 print("B")가 실행됩니다.
if, elif, else 하나라도 만족하게 되면 다음 문장은 실행하지 않습니다.
파이썬 if 조건문
Reviewed by Juny
on
7월 30, 2019
Rating:
댓글 없음: