Programming

; develop a program

Back-End/Python

[Python] 데이터 타입 (Data Type) - 논리형(Boolean)

Clloud_ 2022. 9. 15. 18:19
반응형

이번 포스팅에서는 파이썬의 3가지 데이터 타입 (Data Type) 중 논리형(Boolean)에 대하여 공부를 해보고자 한다.

 


논리형(Boolean)

참(True)과 거짓(False) 중 한 가지만 가질 수 있는 데이터 타입을 논리형(Boolean)이라고 한다.

 

주로 조건문에서 많이 사용되며, True와 False가 예약어로 미리 지정되어 있기 때문에 첫 문자를 항상 대문자로 사용해야 한다.

 


bool( 값 ) 함수

다른 타입을 논리형 값으로 변환하는 함수이다.

빈 문자열 , 숫자 0, None과 같이 값이 없으면 False, 나머지는 True로 반환한다.

더보기

숫자: 0 - False, 양수/음수 - True
문자열: 글자 수가 0인 문자열 - False, 1글자 이상 - True
None: False
자료구조: 원소의 개수가 0개 - False, 1개 이상의 원소가 있는 것 - True

 

숫자

print(bool(10), bool(0), bool(-20))	# True False True

 

문자열

print(bool(""), bool("Abc"), bool("A"), bool("  "))	 # False True True True

 

None

bool(None)	# False

 


논리형(Boolean) 관련 연산자

논리형(Boolean) 연산자는 비교 연산자, 논리 연산자, 조건 연산자로 구분할 수 있다.

 


비교 연산자

비교 연산자는 두 값(모든 타입 비교 가능) 사이의 상대적인 크기를 판단한다.

어느 쪽이 더 큰지, 작은지 또는 같은지를 판단한 후에 그 결과를 논리형으로 리턴한다. 

 

연산자 설명
== 두 값의 크기가 같다.
!= 두 값의 크기가 같지 않다.
> 왼쪽 값이 오른쪽 값보다 크다.
>= 왼쪽 값이 오른쪽 값보다 크거나 같다.
< 왼쪽 값이 오른쪽 값보다 작다.
<= 왼쪽 값이 오른쪽 값보다 작거나 같다.

 

예시

순서 1. 변수를 선언한다.

순서 2. 비교 연산자를 사용하여 결과를 반환한다.

name = "홍길동"

print(name == "홍길동")		
print(name != "홍길동")		

10 > 5

 

[실행결과]

True
False

True

 

문자열 비교 연산자

"a" > "b"	
"a" > "가"	

"A" < "a"	
ord("A"), ord("a")

 

[실행결과]

False
True

True
(65, 97)

대문자와 소문자를 비교할 때는 아스키코드에 따라 비교한다.

아스키코드를 변환하는 함수인 ord( )를 사용하면 각 문자의 아스키코드를 알 수 있다.

 


논리 연산자

논리 연산자는 주어진 논리식을 연산하여, 참(True)과 거짓(False)을 결정한다.

 

연산자 설명
& (and) 두 값이 True 이면 결과는 True, 나머지는 모두 False
| (or) 두 값이 모두 False 이면 False 나머진 모두 True
^ 두 값이 다를 경우 True 같으면 False
not 피연산자를 반대로 부정한다. (True->False, False->True)

 

예시

순서 1. 각각의 변수를 선언한다.

순서 2. 주어진 논리식을 논리 연산자를 사용하여 결과를 반환한다.  

age = 10
name = "홍길동"

 

논리식 1. 나이가 19세 이상이고 이름은 홍길동인가?

논리식 2. 나이가 19세 이상이거나 이름은 홍길동인가?

age >= 19 and name == "홍길동"		
(age >= 19) & (name == "홍길동")
age >= 19 or name == "홍길동"		
(age >= 19) | (name == "홍길동")

 

[실행결과]

False
False

True
True

 


조건 연산자 (삼항 연산자)

조건 연산자는 조건이 True이거나 False이냐에 따라 결과값을 반환한다.

 'Value1 if 조건식 else Value2'
조건식이 True이면 Value1을 False이면 Value2를 반환한다.

 

예시

순서 1. 사용자로부터 이름(문자열)을 입력받기 - input( )

순서 2. 이름이 입력되었는지 여부를 출력한다.

순서 3. 이용해서 이름이 입력되었으면 이름을 출력, 입력되지 않았으면 "이름을 입력하세요."를 출력한다.

name = input("이름:")
print(bool(name))	

print(name if name else '이름을 입력하세요.')

 

[실행결과]

이름이 입력된 경우 - True / 입력되지 않은 경우 - False

이름이 입력된 경우 - 입력한 이름을 출력 / 입력되지 않은 경우 - False

 


None

None은 아무 값도 없음을 나타내는 값을 말한다.

 

다른 언어에서는 주로 NULL을 사용한다.

 


반응형