앞선 포스트에서 if 문의 기본 뼈대를 커버했다.
if 조건문1:
코드블록A
elif 조건문2:
코드블록B
else:
코드블록C
그럼 저기 있는 조건문은 무엇인가? 라는 의문이 든다. 한가지 확실한 건 조건문이 반환하는 값(리턴)은 True 아니면 False 둘중 하나가 되야 한다는 것이다. 어떤 표현식이 들어가건 숫자건 문자건 뭐건간에 True or False가 된다. 그게 파이썬의 규칙이다. 파이썬의 조건식의 자료형에 대한 참과 거짓 기준은 아래 포스트에 정리해놨다. 퉁쳐서 이야기하면 값이 있으면 True 고 없으면 False 이다.
자료형 말고 다른 조건문에 대해서 알아본다.
기본 비교연산자는 아래와 같다. 아래와 같이 리터럴도 사용가능하고 변수, 표현식 다 사용가능하다. 비교연산자는 비교한다. == 가 같다 표시임에 주의한다. 코딩에서 = 는 대입문이다. != 는 부정 NOT의 의미다.
if 문에서는 이렇게 쓴다.
a = 5
b = 10
if a < b :
print("a는 b보다 작다")
#AND
>>> True and True
True
>>> True and False
False
>>> False and True
False
>>> False and False
False
#OR
>>> True or True
True
>>> True or False
True
>>> False or True
True
>>> False or False
False
#NOT
>>> not True
False
>>> not False
True
>>>
AND는 둘다 참이어야 참이고 OR은 둘다 거짓이어야 거짓이다. NOT은 반전이다. 대소문자를 가리는 파이썬이니 코딩할 때 주의한다.
*파이썬에서 자주 쓰는 in 와 not in 조건문이 있다. 이것은 iterable 에 적용할 수 있다. 리스트나 튜플같은 자료형이 iterable이다.
파이썬의 특징을 잘 알려주는 조건문이다. 마치 영어로 하는 대화같다. food에 종류를 리스트로 만든다. 그리고 질문을 한다.(조건연산)
족발이 food 에 있어?
-> 있다. True
김밥이 food 에 있어?
-> 없다. False
닭발이 food 에 없어?
-> 없다. True
삼겹살이 food에 없어?
-> 있다. False
True를 '어' 라고 하고 False를 '아니' 라고 하면 좀더 대화문 같다.
-> 어 족발 있어. 아니 김밥은 없어. 어 닭발은 없어. 아니 삼겹살은 있어.
다음 챕터인 for문에서는 조금 다르게 쓰인다. if문에서는 이렇게 사용된다는 것에 주의한다.
food = ['치킨','삼겹살','닭갈비','족발']
if '족발' in food:
print("족발 주세요")
if '김밥' not in food:
print("김밥은 어디서 팔아요?")
대화문이라 생각하고 흐름을 본다.
str1 = "HELLO WOLRD"
if 'H' in str1:
print("H is here")
if 'Z' not in str1:
print("Z is missing")
문자열의 요소도 검사가능하다.