프로그램언어/파이썬(Python)

파이썬(Python) 강좌 #4 - Bool (불리언, boolean) 처리

Steve Jang 2019. 4. 2. 18:11

프로그램을 짜게 되면, 참(True) 혹은 거짓(False)과 같은 값을 자주 활용하게 됩니다. 이러한 값 혹은 형태를 불리언(Boolean) 혹은 불(Bool)이라고 합니다.


참과 거짓 값을 IF 조건절에 활용하게 되면, 프로그램을 분기처리할 수 있습니다. IF조건은 For 반복문과 함께 가장 많이 활용이 되며, 이 2가지만 알아도 간단한 프로그래밍은 문제없이 만들 수 있습니다. 사실 프로그램이라 하면, IF조건과 For문의 심화과정(?)이라고 생각해도 제 개인적인 생각으로는 크게 다르지 않는 것 같네요.




Bool 형 예제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
>>> apple = True; # 사과가 있다
>>> orange = False; # 오렌지는 없다
>>> orange
False
>>> apple
True
>>> type(apple)
<class 'bool'>
>>> type(orange)
<class 'bool'>
>>> orange and apple
False
>>> not orange
True
>>> apple and not orange
True
>>> not apple
False
>>> not apple and orange
False
>>> apple or orange
True
cs



>>> apple = True; # 사과가 있다

>>> orange = False; # 오렌지는 없다

>>> orange

False

>>> apple

True

내용을 설명하면, apple에는 True(참)을 orange에는 False(거짓)을 대입시킵니다. 


>>> type(apple)

<class 'bool'>

>>> type(orange)

<class 'bool'>

둘다 Bool 형태의 값들이기 때문에 type으로 호출을 하게 되면, 역시나 bool형이라 나옵니다. 


>>> orange and apple

False

and는 둘다 참이어야 하기 때문에, orange and apple에서 거짓인 orange로 인해서, False가 찍히게 됩니다. 


>>> not orange

True

False인 orange에 not 을 붙이게 되면, 부정을 다시 부정하여 긍정인 True로 변환됩니다.


>>> apple and not orange

True

이를 응용하여, apple and not orange를 하게 되면, orange가 긍정으로 변환되어 둘다 긍정이 되므로, and 조건이 처리가 됩니다. 


>>> not apple

False

>>> not hungry and orange

False

apple는 긍정이기 때문에 not apple를 하게 되면 부정으로 변환이 되고, 어차피 and 조건은 모두 True가 되어야 하기 때문에 not apple and orange는 False가 됩니다.


>>> hungry or orange

True

마지막으로 or는 하나의 조건만 True여도 True가 출력이 되기 때문에 apple or orange는 true가 됩니다.