02-7 ~ 02-8 (p.102 ~ p.111)

 

가장 고비라는 3일째이다.. 다행히도 아직까지는 괜찮은 거 같다..!

 

고비를 넘긴건가..!

 


 

02-7 불(bool) 자료형

 

참(True)과 거짓(False)을 나타내는 자료형. (True : 참, False : 거짓) 값만을 가질 수 있다. (True, False의 시작은 꼭 대문자)

# 불(bool) 자료형의 예
a = True
b = False
type(a)
>>> <class 'bool'>
type(b)
>>> <class 'bool'> # 둘 다 자료형이 'bool'인 것을 확인

2 > 1
>>> True
2 < 1
>>> False

* 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면(" ", [ ], ( ), { }) 거짓. 숫자는 값이 0이면 거짓. None거짓.

  비어있지 않거나 0이 아니면 .

 

불 연산

# 불(bool) 연산의 예
bool('python')
>>> True
bool('')
>>> False
bool ([1, 2, 3])
>>> True
bool([])
>>> False
bool(0)
>>> False
bool(3)
>>> True

 

 

02-8 자료형의 값을 저장하는 공간, 변수

 

파이썬에서 사용하는 변수는 객체를 가리키는 것이라고 할 수 있음. 객체란 자료형과 같은 것을 의미.

# 변수의 예
a = [1, 2, 3] # a가 변수. [1, 2, 3] 리스트 자료형(객체)이 자동으로 메모리에 저장.
	      # 변수 a는 [1, 2, 3] 리스트가 저장된 메모리의 주소.

# 메모리 주소 확인
a = [1, 2, 3]
id(a) # id는 변수가 가리키고 있는 객체의 주소 값을 돌려주는 내장 함수.
>>> 4302394813
# 리스트 복사
a = [1, 2, 3]
b = a
id(a)
>>> 4302394813
id(b)
>>> 4302394813
a is b # is는 동일한 객체를 가리키고 있는지에 대해서 판단하는 명령어.
>>> True

a[1] = 4
a
>>> [1, 4, 3]
b
>>> [1, 4, 3] # a와 b는 같기 때문에 값을 변경해도 동일하게 변경.
# 변수의 값은 같지만 서로 다른 주소를 가리키도록 하는 방법

# 1. [:] 사용
a = [1, 2, 3]
b = a[:] # 리스트 a의 처음 요소부터 끝 요소까지 슬라이싱
a[1] = 4
a
>>> [1, 4, 3]
b
>>> [1, 2, 3] # a는 값이 변경되었지만 b는 그대로

# 2. copy 모듈 사용
from copy import copy # 모듈은 뒤에서 다룸
a = [1, 2, 3]
b = copy(a) # = b = a[:]
b
>>> [1, 2, 3]
b is a
>>> False

 

변수를 만드는 여러 가지 방법

a, b = ('python', 'life') # 튜플
(a, b) = 'python', 'life' # 위와 완전히 동일
a
>>> 'python'
b
>>> 'life'

[a, b] = ['python', 'life'] # 리스트
a
>>> 'python'
b
>>> 'life'

a = b = 'python' # 여러 개의 변수에 같은 값 대입 가능

a = 3
b = 5
a, b = b, a # a와 b의 값을 바꿈
a
>>> 5
b
>>> 3

 

+ Recent posts