조건(Conditions)과 if 구문
파이썬(Python)에서 조건은 두 값이 '같다', '다르다', '크다', '작다', '크거나 같다', '작거나 같다' 로 나눌 수 있습니다. 이런 조건들은 파이썬의 if 구문과 함께 쓰이며, 'if 조건:' 의 형태로 사용되어집니다. 그 의미는, 만약 조건이 참(True)라면 관련 코드블럭을 실행하라는 것입니다. 즉, 어떤 조건이 만족 될 때, 특정 코드를 실행하라는 의미이죠.
그럼 코드로 확인해 볼께요. 아래 예제에서느 변수 a가 2와 같다면 'a is 2'를 출력하고 아닐 경우엔 'a is not 2'를 출력하는 조건문입니다. 코드 첫줄에 변수 a에 2를 할당 했기 때문에 변수 a는 2가 되어서 'a is 2'라고 출력이 되게 됩니다.
a = 2
if a == 2: # 만약 a가 2와 같다면,
print('a is 2') # 'a is 2'를 출력하고
else: # 그게 아니라면(a가 2가 아니라면)
print('a is not 2') # 'a is not 2'를 출력하라는 의미입니다.
# 근데 a는 2이기 때문에 아래처럼 출력이 되는것이죠
# a is 2
위의 코드에서 if, else 라는 키워드(keyword)가 보이고 콜론(:)도 보입니다. 그리고 if와 else 밑의 코드들은 들여쓰기(indentation)를 하고 있습니다. 이 녀석들을 알아봐야 할 것 같습니다.
If 구문
먼저, if 문은 만약 ~한다면의 의미를 가지고 있습니다. 그리고 if 문의 끝은 항상 콜론(:)으로 끝나야 합니다. 즉, if 이후 부터 콜론(:) 사이의 코드가 처음에 설명 드렸던 어떤 조건이 되는 것이지요. 그리고 그 조건이 참(True)이라면 그와 관련된 어떤 코드를 실행해 주어야 합니다.관련 코드는 들여쓰기를 통해서 작성이 됩니다.
if 조건:
# 조건이 참일경우 실행되는 코드들은 아래에 위치합니다
print('hi')
print('hello')
...
들여쓰기(Indentation)
if 조건이 만족되었을 때 실행될 코드는 if 문 밑에 들여쓰기를 해서 작성을 하게 됩니다. 탭(Tab)이나 스페이스(Space)를 사용할 수 있습니다, 우리는 스페이스 네칸을 사용하도록 하겠습니다. (키보드의 스페이스바를 네번 누른뒤, 코드를 작성하면 됩니다) 참고로, 들여쓰기는 일관되게 코드에 적용이 되어야 합니다. 한번 탭을 썼다면 계속 탭을 쓰고 스페이스를 썼다면 계속 스페이스를 써야 합니다. 스페이스 갯수도 일관되게 유지해야 합니다. 그렇지 않으면 파이썬 인터프리터가 코드를 실행 할 수 없습니다.
if 조건:
# 들여쓰기를 하지 않고 코드를 작성하면 에러가 발생합니다.
print('hi')
if 조건:
print('hi') # 들여쓰기를 하면 에러가 발생하지 않습니다.
else 구문
다음으로 else를 알아볼께요. else 문은 항상 if 문과 함께 다닙니다. 의미는 'else 구문 위쪽의 모든 조건들이 거짓일 경우에 실행한다'는 의미입니다. if와 마찬가지로 else의 끝은 콜론(:)으로 끝납니다. 하지만 따로 조건을 적을 필요는 없습니다. 왜냐하면 else 위의 조건들이 모두 만족하지 않았을 경우 실행이 되는 것이기 때문입니다. 또한 if 문과 동일하게, else 구문으로 조건이 들어오게 되었다면 실행 될 코드들은 들여쓰기를 해서 작성을 해줍니다.
if 조건:
print('hi') # 조건이 참일경우 실행
else:
print('hello') # 조건이 거짓일 경우 실행
elif 구문
만약에 조건을 여러개 걸고 싶으면 어떻게 해야 할까요? elif구문을 if와 else 사이에 넣어주고 조건을 추가해 주면 됩니다. elif 는 'else if'를 의미합니다. elif는 if문과 마찬가지로 elif와 콜론 사이에 조건이 들어가게 됩니다. elif는 원하는 만큼 추가해서 조건을 늘릴 수 있습니다.
a = 3
if a == 2: # 만약 a가 2와 같다면,
print('a is 2') # 'a is 2'를 출력하고
elif a == 3: # 만약 a가 3이라면
print('a is 3') # 'a is 3'을 출력하고
else: # 위의 경우가 모두 아니라면,
print('a is bigger than 3') # 'a is bigger than 3'을 출력합니다.
# 근데 a는 3이기 때문에 아래처럼 출력이 되는것이죠
# a is 3
조건문의 중첩
만약 조건문 안에 또 다른 조건문을 넣으면 어떻게 될까요? 말 그대로, 조건문안에 또 다른 if else 조건문을 넣어주면 됩니다. ₩
a = 3
b = True
if a == 2: # 만약 a가 2와 같고,
if b == True: # 그리고 만약 b가 True 라면
print('1') # 이 출력문이 실행이 되고
else: # 그리고 만약 b가 True가 아니라면
print('2') # 이 출력문이 실행이 됩니다.
elif a == 3: # 만약 a가 3과 같고
if b == True: # 그리고 만약 b가 True 라면
print('3') # 이 출력문이 실행이 되고
else: # a가 2도 아니고, 3도 아니면
print('4') # 이 출력문이 실행이 됩니다.
# 근데 a는 3이고 동시에 b는 True이기 때문에 아래처럼 출력이 되는것이죠
# 3
And
'and' 키워드를 사용하면 여러개의 조건을 동시에 검사할 수 도 있습니다. if A and B and C: 라는 조건문은 A, B, C 조건 모두가 참일 경우에 관련 코드를 실행하게 됩니다. 아래 예제는 조건 두개(a == 3 , b == True)를 'and' 키워드로 검사하고 있습니다.
a = 3
b = True
if a == 3 and b == True:
print('yes')
else:
print('no')
# 출력 결과
# yes
Or
'or' 키워드를 if 와 같이 사용한다면, 여러 조건 중에 하나만 참이면 관련 코드를 실행 시킬 수 있습니다. if A or B or C: 라는 조건문은 A, B, C 중 하나의 조건만 참이여도 관련 코드를 실행하게 됩니다.
a = 3
b = True
if a == 3 or b == False: # 첫번째 조건이 참이기 때문에 관련 코드블럭이 실행됩니다.
print('yes')
else:
print('no')
# 출력 결과
# yes
'파이썬 > [누구나! 완전 기초 파이썬]' 카테고리의 다른 글
#8 함수(Functions) (0) | 2020.09.26 |
---|---|
#7 while, for 반복문 (0) | 2020.09.24 |
#5 리스트(Lists) (0) | 2020.09.21 |
#4 문자열(Strings) (0) | 2020.09.19 |
#3 숫자(Numbers) (0) | 2020.09.18 |
댓글