bool 자료형
True(참)과 False(거짓)을 나타내는 자료형
파이썬에서는 bool형의 첫글자는 항상 대문자여야함 ex) True, False
a = True
b = False
print(type(a)) # <class 'bool'>
print(type(b)) # <class 'bool'>
문자열처럼 따옴표로 감싸지 않고 변수에 할당할 수 있음
bool 자료형은 조건문의 반환 값으로도 사용됨
print(1==1) # True
print(1>2) # False
print(1<2) # True
| 자료형 | 값 | 참or거짓 |
|---|---|---|
| 문자열 | "hello" | 참 |
| 문자열 | "" | 거짓 |
| 리스트 | [1,2,3] | 참 |
| 리스트 | [] | 거짓 |
| 튜플 | () | 거짓 |
| 딕셔너리 | {} | 거짓 |
| 숫자형 | 0이아닌 숫자 | 참 |
| 숫자형 | 0 | 거짓 |
| None | 거짓 |
자료형에도 참과 거짓이 있음
자료형의 참과 거짓을 구분하는 기준
문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면 거짓
비어있지 않으면 참
숫자형은 값이 0이면 거짓 0이 아니면 참
None은 거짓을 뜻함
print(bool('python')) # True
print(bool('')) # False
값을 저장하는 공간과 변수
a = [1,2,3]
print(id(a)) # ex 4303029896
위의 예로 설명하면 [1,2,3]값을 가지는 리스트 자료형(객체)이 자동으로 메모리에 생성되고, 변수는 a는 리스트 [1,2,3]이 저장된 메모리의 주소를 가리킴
id함수를 사용하여 변수가 가리키는 주소를 확인할 수 있음
a = [1,2,3]
b = a
print(id(a)) # ex 4303029896
print(id(b)) # ex 4303029896
print(a is b) # True
a[1] = 4
print(a) # [1,4,3]
print(b) # [1,4,3]
b에 a를 대입하면 b는 a와 완전히 동일하다고 볼 수 있음
[1,2,3] 리스트를 참조하는 변수가 a 1개에서 b까지 추가되어 2개로 늘어났을뿐
서로 참조하는 주소가 같으므로 하나의 변수에서 값을 변경하면 다른 변수에도 반영됨
# 방법1 [:] 사용하기
a = [1,2,3]
b = [:]
a[1] = 4
print(a) # [1,4,3]
print(b) # [1,2,3]
# 방법2 copy 모듈 사용하기
from copy import copy
a = [1,2,3]
b = copy(a)
a[1] = 4
print(a) # [1,4,3]
print(b) # [1,2,3]
print(a is b) #False
# 튜플로 값을 대입
a, b = ('Hello', 'World')
(a,b) = 'Hello', 'World'
# 리스트로 값을 대입
[a,b] = ['Hello', 'World']
# 여러개의 변수에 값을 대입
a = b = 'Hello'