-
chapter02-7 불 자료형점프 투 파이썬 2021. 9. 7. 19:13
다음과 같이 변수 a에는 True를, 변수 b에는 False를 지정해 보자.
In [15]:a=True b=False
따옴표로 감싸지 않은 문자열을 변수에 지정해서 오류가 발생할 것 같지만 잘 실행된다. type함수를 변수 a와 b에 사용하면 두 변수의 자료형이 bool로 지정된 것을 확인할 수 있다.
In [16]:type(a)
Out[16]:bool
In [17]:type(b)
Out[17]:bool
불 자료형은 조건문의 반환 값으로도 사용된다. 조건문에 대해서는 if문에서 자세히 배우겠지만 잠시 살펴보고 넘어가자.
In [18]:1==1
Out[18]:True
1==1은 '1과 1이 같은가?'를 뭍는 조건문이다. 이런 조건문은 결과로 True 또는 False에 해당되는 불 자료형을 돌려준다. 1과 1은 같으므로 True를 돌려준다.
In [19]:2>1
Out[19]:True
2는 1보다 크기 떄문에 2>1 조건문은 True를 돌려준다.
In [20]:2<1
Out[20]:False
2는 1보다 작지 않기 때문에 2<1 조건문은 False를 돌려준다.
자료형의 참과 거짓¶
자료형에 참과 거짓이 있다? 조금 이상하게 들리겠지만 참과 거짓은 분명히 있다. 이는 매우 중요한 특징이며 실제로도 자주 쓰인다.
문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면 ("",[],(),{})거짓이 된다. 당연히 비어 있지 않으면 참이 된다. 숫자에서는 그 값이 0일 때 거짓이 된다. None가 있는데 이것에 대해서는 뒷부분에서 배우니 아직은 신경쓰지 말자. 그저 None은 거짓을 뜻한다는 것만 알아두자.
다음 예를 보고 참과 거짓이 프로그램에서 어떻게 쓰이는지 간단히 알아보자.In [1]:a=[1,2,3,4] while a: print(a.pop())
4 3 2 1
먼저 a=[1,2,3,4] 리스트를 하나 만들었다. while문은 03장에서 자세히 다루겠지만 간단히 알아보면 다음과 같다. 조건문이 참인 동안 조건문 안에 있는 문장을 반복해서 수행한다.
while 조건문:
수행할 문장즉 위 예를 보면 a가 참인 경우에 a.pop()을 계속 실행하라는 의미이다. a.pop()함수는 리스트 a의 마지막 요소를 끄집어내는 함수이므로 리스트 안에 요소가 존재하는 한 마지막 요소를 계속해서 끄집어 낼 것이다. 결국 더 이상 끄집어낼 것이 없으면 a가 빈 리스트([])가 되어 거짓이 된다. 따라서 while문에서 조건이 거짓이 되므로 중지된다. 위에서 본 예는 파이썬 프로그래밍에서 매우 자주 사용하는 기법 중 하나이다.
위 예가 너무 복잡하다고 생각하는 독자는 다음 예를 보면 쉽게 이해될 것이다.
In [5]:if []: print("참") else: print("거짓")
거짓
[]는 앞의 표에서 볼 수 있듯이 비어 있는 리스트이므로 거짓이다. 따라서 '거짓'이란 문자열이 출력된다. if문에 대해서 잘 모르는 독자라도 위 문장을 해석하는 데는 무리가 없을 것이다.
In [22]:if [1,2,3]: print("참") else: print("거짓")
참
위 코드를 해석해 보면 다음과 같다.
만약 [1,2,3]이 참이면 "참"이라는 문자열을 축력하고 그렇지 않으면 "거짓"이라는 문자열을 출력하라
위 코드의 [1,2,3]은 요솟값이 있는 리스트이기 때무에 참이다. 따라서"참"을 출력한다.불연산¶
자료형에 참과 거짓이 있음을 이미 알아보았다. bool 내장 함수를 사용하면 자료형의 참과 거짓을 식별할 수 있다.
다음 예제를 따라 해 보자.
In [26]:bool('pythom')
Out[26]:True
'python'문자열은 빈 문자열이 아니므로 bool 연산의 결과로 불 자료형인 True를 돌려준다.
In [28]:bool('')
Out[28]:False
"문자열은 빈 문자열이므로 bool 연산의 결과로 불 자료형인 False를 돌려준다.
위에서 알아본 몇 가지 예제를 더 수행해 보자.
In [29]:bool([1,2,3])
Out[29]:True
In [30]:bool([])
Out[30]:False
In [31]:bool([0])
Out[31]:True
In [32]:bool(3)
Out[32]:True
위에서 알아본 것과 돌일한 참과 거짓에 대한 결과를 돌려주는 것을 확인할 수 있다.
지금까지 파이썬의 가장 기본이 되는 자료형인 숫자,문자열, 리스트, 튜플, 딕셔너리, 집합, 불에 대해서 알아보았다. 여기까지 잘 따라온 독자라면 파이썬에 대해서 대략 50% 정도 습득했다고 보아도 된다. 그만큼 자료형은 중요하고 프로그램의 근간이 되기 떄문에 확실하게 해놓지 않으면 좋은 프로그램을 만들 수 없다. 책에 있는 예제만 따라하지 말고 직접 여러가지 예들을 데스트해보며 02-1~02-7의 자료형에 익숙해지기를 바란다.
출처 : "점프투파이썬"
In [ ]:'점프 투 파이썬' 카테고리의 다른 글
chapter03-1 if문 (0) 2021.09.08 chapter02-8 자료형의 값을 저장하는 공간,변수 (0) 2021.09.07 chapter02-6 집합 자료형 (0) 2021.09.07 chapter02-5 딕셔너리 자료형 (0) 2021.09.07 chapter02-4 튜플 자료형 (0) 2021.09.07