• 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의 갯수에는 제한이 없다.

+ Recent posts