- if문은 해당 조건의 '참' '거짓' 을 판별 후 결과에 따라 다른 코드를 실행한다.
- if문과 같은 조건문은 조건 판단 후 상황에 맞는 프로그램의 처리가 필요할 경우 사용한다.
- 예) 센서 데이터를 읽어 if문에 넣어 사람인식이 '참' 이면 자동문 열기, '거짓' 이면 자동문 '닫기'
1. if문 구조
if 1:
print("True Statement1")
print("True Statement2")
else:
print("False Statement1")
print("False Statement2")
- 조건이 참인 경우 if 아래의 모든 명령 실행
- 조건이 거짓인 경우 else 아래의 모든 명령 실행
- if 혹은 else 다음 콜론(:) 필수
- 콜론(:) 다음 enter를 친 이후 들여쓰기(tab 혹은 spacebar 4번) 필수 - PyCharm을 이용한다면 자동으로 들여쓰기를 해준다.
- 들여쓰기를 하지 않으면 Syntax Error를 일으켜 프로그램이 실행되지 않는다.
- 들여쓰기는 모든 명령을 같은 깊이로 해야한다.
if 1:
print("True1")
print("True2")
else:
print("False1")
print("False2")
위의 코드는 들여쓰기 깊이가 서로 달라 Identation Error를 일으킨다.
2. 비교 연산자
- 비교 연산자는 조건문과 관련이 깊다.
- 두 값을 비교해 그 결과로 '참' 혹은 '거짓'을 판단하는 경우가 많기 때문이다.
x |
x가 y보다 작다 |
x>y | x가 y보다 크다 |
x==y | x와 y가 같다 |
x!=y | x와 y가 같지않다 |
x>=y | x가 y보다 크거나 같다 |
x<=y | x가 y보다 작거나 같다 |
x=3
y=2
print(x>y) # True
print(x==y) # False
if x>y:
print("x is greater than y")
else:
print("x is not greater than y")
위의 조건은 참(True)이므로 if 아래의 print문이 실행된다.
if x==y:
print("x is same to y")
else:
print("x is not same to y")
위의 조건은 거짓(False)이므로 else 아래의 print문이 실행된다.
3. 논리연산자
x and y | x와 y 모두 참이어야 참 |
x or y | x와 y 둘 중 하나만 참이면 참 |
not x | x가 거짓이면 참 |
x=1
y=10
print(x>5 and y>5) # false
print(x>5 or y>5) # true
if x>5 and y>5:
print("big")
else:
print("small")
x가 5보다 작으므로 False. 따라서 "small"을 출력
if x>5 or y>5:
print("big")
else:
print("small")
y가 5보다 크므로 True. 따라서 "big" 출력
print(not x)
if not x:
print("True")
else:
print("False")
x는 1이므로 True. 따라서 not x 는 False를 리턴한다.
4. in 연산자
파이썬은 in 연산자라는 재미있는 연산자를 제공하는데, 다음과 같이 사용한다.
a = set([1,2,3,4,5])
print(3 in a) # True
if 3 in a:
print("3 is in set a")
else:
print("3 is not in set a")
b = "python"
if 'z' in b:
print("character 'z' is in 'python'")
else:
print("character 'z' is not in 'python'")
if 'p' not in b:
print("character 'p' is not in 'python'")
else:
print("character 'p' is in 'python'")
파이썬에서는 리스트,문자열,튜플,집합 등과 in 연산자를 함께 쓰는 경우가 많으므로 기억해두면 유용하다.
5. pass
a = [1,2,3]
if 1 in a:
pass
else:
print("Where is 1?")
pass 명령문은 아무런 조건문 내에서 아무런 일도 일어나지 않게 할 때 사용한다.
6. elif
if와 else를 사용하면 한 가지의 조건에 관해서만 판단을 할 수 있었다. 하지만 조건을 꼭 두 가지로만 나누란 법은 없고 이 때 사용하는 것이 elif 이다.
a=10
if a<0:
print("a is negative")
elif a>0:
print("a is positive")
else:
print("a is zero")
위의 코드를 if와 else만으로 나타내려면 다음과 같이 하면 된다.
a=10
if a<0:
print("a is negative")
else:
if a>0:
print("a is positive")
else:
print("a is negative")
중첩된 if else 문을 사용하면 되는데, 조금은 혼란스러울 수도 있다. 코드가 길어지면 더 그럴 것이다.
if의 조건이 거짓일 때 elif로 넘어와 판단을 하여 '참'이면 elif 아래 문장을 실행하고 '거짓'이면 다음 elif나 elif가 없다면 else로 넘어간다. 참고로 elif의 갯수에는 제한이 없다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
(Python) 11 - 제어문(3) - for (0) | 2020.05.16 |
---|---|
(Python) 10 - 제어문(2) - while (0) | 2020.05.16 |
(Python) 8 - 자료형(8) - 변수(Variable) (0) | 2020.05.16 |
(Python) 7 - 자료형(7) - 참과 거짓(True False) (0) | 2020.05.16 |
(Python) 6 - 자료형(6) - 집합(Set) (0) | 2020.05.16 |