[Python] 불 자료형과 변수

ㅎㅎ·2021년 5월 17일
0

Python

목록 보기
8/27




📌 불 자료형(bool)

  • 불 자료형이란 참(True)와 거짓(False)를 나타내는 자료형이다. 불 자료형은 오직 True와 Flase만들 가질 수 있음.

- 불 연산

  • bool 내장 함수를 사용하면 자료형의 참과 거짓을 식별 할 수 있다.
  • 자료형에는 참과 거짓이 존재하는데, 문자열,리스트,튜플,딕트 등 값이 비어있으면 거짓이고 비어있지 않으면 참.
  • 그리고 숫자 0 또한 거짓이다.
>>> bool([1,2,3])
True
### >>> bool([]) 빈 리스트 
False
>>> bool(0) #숫자 0 
False
>>> bool(3)
True



📌 변수

  • 자료형의 값을 저장하는 공간
  • 파이썬에서 사용하는 변수는 객체를 가르킨다. 이때 객체란 자료형과 같은 것을 의미한다.
>>> a = [1,2,3]
>>> id(a)
140589456911232
>>>

➡️ [1,2,3]값을 가지는 리스트 자료형(객체)이 자동으로 메모리에 생성되고, 변수 a는 [1,2,3]을 리스트가 저장된 메모리의 주소를 가리킨다. 이때 객체의 주소값을 돌려주는 파이썬 내장함수 id()로 확인가능하다.

- 리스트를 '복사'하고 싶을 때

>>> a = [1,2,3]
>>> b = a

#a와 b의 주소가 같음
>>> id(a)
140589456911232
>>> id(b)
140589456911232

➡️ b변수에 a변수를 대입하면 b와 a는 완전히 동일하다. 위의 주소가 동일함으로 확인가능하다.

>>> a[1] = 8
>>> a
[1, 8, 3]
>>> b
[1, 8, 3]

➡️ a의 두번째 요소에 8을 넣어도 a와 b의 값이 둘다 똑같이 바뀌었음을 알 수 있다.

➡️ 그렇다면, b변수를 생성할때 a변수의 값을 가져오면서 a와는 다른 주소를 가리키도록 할때는 어떻게 할까??

1. [:] 이용

  • 첫번재 방법은 리스트 전체를 가르키는 [:]를 사용해 복사한다.
  • a리스트 값이 바꾸더라고 b리스트에 영향 X
>>> a = [1, 2, 3]
>>> b = a[:] # 방법1
>>> a[1] = 4
#a와 b가 다름
>>> a
[1, 4, 3]
>>> b
[1, 2, 3]

2. copy 모듈 이용

  • 파이썬 모듈을 사용하기
>>> from copy import copy
>>> a = [1, 2, 3]
>>> b = copy(a) # 방법2

>>> a[1] = 4

>>> a
[1, 4, 3]
>>> b
[1, 2, 3]

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

# 튜플로 a,b값 대입
>>> a, b = ('python', 'life')
# 위와 동일하며 튜플은 괄호 생략가능.
>>> (a, b) = 'python', 'life'
#리스트로 변수선언 가능
>>> [a,b] = ['python', 'life']
# 여러 개의 변수에 같은 값 대입 가능.
>>> a = b = 'python'

# 두 변수의 값 바꾸기
>>> a = 3
>>> b = 5
>>> a, b = b, a
>>> a
5
>>> b
3

0개의 댓글