님들 안녕하세요. 14년 차 IT개발자 데니예요. 오늘은 파이썬 자료형 중 논리형(bool)을 살펴보는 시간을 가져볼 거예요. 프로그래밍은 논리 구조를 만들어 나가는 과정이므로, 논리형은 프로그래밍에서 자주 사용하는 자료형이에요. 그만큼 정말 중요하니 이번 시간을 통해서 논리형의 개념과 쓰임새를 확인하시고 익혀보는 시간을 가지시길 바랄게요. 자 이제 파이썬 자료형인 논리형(bool)에 대한 강의를 시작해 볼게요.
9. 파이썬 논리형(bool)
▶ 논리형(bool)이란?
논리형(bool)은 참(True)와 거짓(False)를 나태 내는 자료형이에요. 그러므로 논리형에 대입할 수 있는 값은 True와 False 로 딱 2가지 값만 가능해요. 사용 시에 유의하셔야 할 점은 True와 False처럼 첫 문자는 반드시 대문자로 입력하셔야 해요.
님들이 프로그래밍을 하시면서 논리형을 사용하실 때, 판단기준을 명확하게 알고 계셔야 해요. 가령 파이썬은 숫자 1을 True(참)로 판단하고 있는데, 님들은 False(거짓)로 알고 계신 상태에서 프로그래밍을 하신다면 파이썬은 님들이 생각했던 바와 반대로 동작할 거예요. 아래는 True와 False 판단 기준에 대해 표로 정리해 봤어요. 표를 천천히 보시면서 논리형 값에 대한 판단 기준을 조금 더 명확하게 갖고 가시면 좋을 거 같아요.
▶ 자료형 확인해 보기
파이썬 내장함수인 type()함수에 인자 값으로 변수명을 주면 해당 변수의 자료형을 확인할 수 있어요. 논리형 변수에 각각 True와 False 값을 대입해 보고 type()함수를 사용해서 자료형을 확인하는 실습을 해볼게요.
1
2
3
4
5
6
7
8
9
|
>>> bool_t = True
>>> bool_f = False
>>>
>>> type(bool_t)
<class 'bool'>
>>>
>>> type(bool_f)
<class 'bool'>
>>>
|
cs |
라인[1]~[2]는 bool_t와 bool_f라는 변수를 선언하고 각각 True(참)과 False(거짓) 값을 대입했어요. True와 False는 앞글자를 반드시 대문자로 사용해야 한다는 점 잊으시면 안돼요.(소문자를 사용하면 오류발생해요.)
라인[4]~[5]는 type함수에 bool_t 변수명을 인자로 주어서 해당 변수가 어떤 자료형에 해당하는지 확인해 보았아요. bool(논리형) 자료형에 해당한다는 것을 확인할 수 있어요.
라인[7]~[8]은 마찬가지로 bool_f변수가 어떤 자료형에 해당하는지 확인해 보았어요. bool(논리형)자료형에 해당한다는 것을 확인할 수 있어요.
▶ 조건문으로 True 또는 False 확인해 보기
조건문을 사용해서 True와 False 값을 확인해 볼 거예요. 우선 조건문이 무엇인지부터 알아야겠죠. 아래 아주 간단한 그림을 보시면 조건문은 주어진 조건이 만족하면 True(참) 값을 리턴하고, 만족하지 않는다면 False(거짓) 값을 리턴해주는 문장이에요. 조건문의 결과에 따라서 프로그램의 흐름이 True인 경우와 False인 경우로 바뀌게 돼요. 프로그램의 흐름을 바꿀 수 있다는 점에서 조건문은 단순하지만 매우 강력한 기능이며 프로그램을 사용하는 유저에게 선택의 기회를 제공해 줄 수도 있어요. 예를 들면 음료수 자판기가 있어요. 음료수 자판기에는 다양한 음료수가 있고 소비자가 음료수의 대가를 지불하고 다양한 음료수 중에서 한 가지를 선택할 수 있게 해 주어요. 이때 지불한 돈이 음료수 가격과 동일하거나 크다면 True(참)이므로 음료수 버튼에 불이 들어오고 해당 음료수를 선택할 수 있을 거고, 지불한 돈이 음료수 가격보다 적다면 False(거짓)으로 음료수를 선택하지 못할 거예요.
아래 표는 비교 연산자의 종류에 대해서 정리한 표예요. 조건문에서 값을 비교하기 위해서 아래 비교연산자를 사용해요. 눈으로 한 번 살펴보시고 실습을 통해서 더 자세히 살표 볼게요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
>>> 1 > 2
False
>>> 1 < 2
True
>>> 4 >= 3
True
>>> 4 >= 4
True
>>> 4 <= 3
False
>>> 4 <= 5
True
>>> 2 == 2
True
>>> 2 != 2
False
>>> 3 != 2
True
>>>
|
cs |
라인[1]~[18]은 위 비교 연산자 종류 표를 기준으로 만든 실습이에요. 자세한 설명을 하지 않더라도 각 라인별 조건문의 조건에 따라 True 혹은 False 값이 리턴되는 걸 확인하실 수 있으실거예요.
1
2
3
4
5
6
7
8
9
|
>>> money = 1100
>>> beverage_price = 1100
>>> money >= beverage_price
True
>>>
>>> money = 500
>>> money >= beverage_price
False
>>>
|
cs |
위 설명에서 음료수 자판기 예를 들었어요. 음료수 자판기에 투입한 돈이 음료수 가격과 비교하여 크거나 같다면 음료수 버튼에 불이 들어오고 버튼을 누를 수 있어요. 그 반대는 음료수 버튼에 불이 들어오지 않고 버튼을 누를 수 없어요. 이 예를 단순하게 조건문 실습용으로 만들었어요.
라인[1]은 1100원을 money변수에 대입했어요.
라인[2]은 1100원을 beverage_price 변수에 대입했어요.
라인[3]~[4]은 money변수의 값이 beverage_price 값보다 크거나 같은지 비교하는 조건문이에요. 두 값이 동일하므로 True 값을 리턴했어요.
라인[6]은 500원을 money변수에 대입했어요.
라인[7]~[8]은 money 변수의 값이 beverage_price 변수의 값보다 크거나 같은지 비교하는 조건문이예요. money 변수의 값이 작으므로 False 값을 리턴했어요.
▶ if문 미리 사용해 보기
if문은 아직 자세하게 배우지 않았지만, 프로그래밍을 할 때 자료형인 논리형(bool)을 가장 많이 사용하는 곳이 바로 if문이기 때문에 if문을 미리 사용해 보면서 조건문과 논리형 자료형의 쓰임새를 익혀볼 거예요.
아래 그림은 if문의 기존 구조예요. 조건문이 True(참)인 경우 수행하는 부분과, False(거짓)인 경우 수행하는 부분이 나뉘어 있어요.
1
2
3
4
5
6
7
8
9
|
>>> if [1, 2, 3]:
... print('참')
... else:
... print('거짓')
...
참
>>>
|
cs |
라인[1]~[4]는 기본 if문이예요. if 문자 옆에 리스트 [1, 2, 3]를 입력했어요. [1, 2, 3]은 유(有)이므로 논리형 값이 True(참)이예요. True이므로 print('참') 문장을 수행할 거예요. 만약 if 문자 옆에 값이 False라면 else: 다음 문장인 print('거짓')을 수행할거예요.
1
2
3
4
5
6
7
8
9
|
>>> money = 1100
>>> beverage_price = 1100
>>> if moeny >= beverage_price:
... print('원하시는 음료수 버튼을 눌러주세요.')
... else:
... print('투입하신 돈이 적습니다. 돈을 더 넣어주세요.')
...
원하시는 음료수 버튼을 눌러주세요.
>>>
|
cs |
라인[1]~[8]은 음료수 자판기 예를 if문을 사용해서 실습해 볼게요.
라인[1]~[2]는 money 변수와 beverage_price 변수 값을 각각 1100원으로 대입했어요.
라인[3]~[6]은 if문의 기본 구조예요. if 문자 옆에 money >= beverage_price 조건문을 넣었어요. 해당 조건문에서 True(참) 값을 리턴하므로 해당 조건문 바로 아래 문장인 print('원하시는 음료수 버튼을 눌러주세요.')를 수행할 거예요. 만약 False(거짓)값을 리턴받았다면, else: 밑에 문장인 print('투입하신 돈이 적습니다. 돈을 더 넣어주세요.')를 수행할거예요.
▶ while문 미리 사용해 보기
논리형(bool) 자료형은 반복문에서도 사용할 수 있어요. 반복문 중 while문은 조건문이 True(참)인 경우만 주어진 문장을 수행해요. 아래 그림은 while문의 기본구조예요. 실습을 통해서 while문을 미리 사용해 볼게요.
1
2
3
4
5
6
7
8
9
|
>>> tmp = [1, 2, 3]
>>>
>>> while tmp:
... tmp.pop()
...
3
2
1
>>>
|
cs |
라인[1]은 리스트 [1, 2, 3]을 tmp변수에 대입했어요.
라인[3]~[4]는 while 문자 옆에 tmp 변수를 입력했어요. while 문자 옆은 조건문이 오는 곳이에요. tmp는 리스트 [1, 2, 3]이므로 논리형 판단기준에서 유(有)이므로 True 값을 리턴할 거예요. while문의 조건이 True이므로 아래 문장인 tmp.pop() 문장을 수행할거예요. pop()는 리스트 강의 시간에 배운것처럼 리스트 내 요소 값 중에 마지막 값을 꺼내주는 함수예요. 그러므로 3을 꺼냈어요. while문은 반복문이므로 다시 while문자 옆 조건문으로 와서 True 또는 False를 판단할거예요. tmp는 3이 pop()함수에 의해 꺼내졌으므로 [1, 2]만 남았어요. [1, 2]도 논리형 판단 기준으로 유(有)이므로 True를 리턴할거예요. True이므로 tmp.pop() 문장이 수행되고 tmp 리스트 내 마지막 요소인 2를 꺼냈어요. 이렇게 반복되어 tmp 리스트 마지막 남은 숫자 1까지 꺼내지면 tmp 리스트는 빈 값 []이 되어 있을 거예요. while 문자 옆 조건에서 tmp가 빈 값 []인 무(無)이므로 False를 리턴할거예요. False이므로 다음 문장을 수행하지 않고 while문을 빠져나와 >>> 에 커서가 깜박이는걸 보실 수 있을거예요.
▶ bool() 내장 함수
파이썬 내장함수인 bool() 함수를 통해서 True(참)과 False(거짓)을 판단할 수 있어요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> bool(1)
True
>>> bool(0)
False
>>> bool(10)
True
>>> bool([1, 2, 3])
True
>>> bool([])
False
>>> bool('Python')
True
>>> bool('')
False
>>>
|
cs |
라인[1]~[14]는 bool()함수를 사용해서 True와 False 값을 확인하고 있어요. bool()함수 인자로 다양한 값을 전달하여 해당 값의 논리형(bool)을 확인해 봤어요. 정말 쉬운 실습이에요. 님들도 실습을 통해서 꼭 확인해 보시길 바라요.
님들 오늘은 파이썬 자료형인 논리형(bool)에 대해서 학습해 보았어요. 실습 중에 어려운 내용은 없으셨을 거예요. 만약 어려운 내용이 있으시거나 질문 사항이 있으시다면, dannyeducation1@gmail.com으로 이메일 문의하시면 감사하겠습니다. 오늘도 학습하시고 실습하시느냐고 너무 고생 많으셨어요. 다음 시간에 자료형 마지막인 함수(set)에 대해 알아보는 시간을 가질게요. 다음 시간에 꼭 봬요.
'파이썬 독학 > 입문 강의' 카테고리의 다른 글
[파이썬독학강의] 11. 파이썬 if문 - 제어문 (0) | 2023.03.28 |
---|---|
[파이썬독학강의] 10. 파이썬 집합(Set) 자료형 (0) | 2023.03.24 |
[파이썬독학강의] 8.2 파이썬 딕셔너리(Dictionary) 자료형(심화, 관련 함수) (0) | 2023.02.28 |
[파이썬독학강의] 8.1 파이썬 딕셔너리(Dictionary) 자료형 (0) | 2023.02.25 |
[파이썬독학강의] 7. 파이썬 튜플(Tuple) 자료형 (0) | 2023.02.20 |