본문 바로가기
SK Shieldus Rookies 19th/인프라 활용을 위한 파이썬

[SK shieldus Rookies 19기][Python] - 자료형 4

by En_Geon 2024. 3. 14.

1. 불(Bool)

참(True), 거짓(False)을 나타내는 자료형 

 

  • True, False는 파이썬의 예악어로 첫 문자를 항상 대문자로 작성해야 한다.

 

1) 사용

a = True
b = False

print(type(a))
print(type(b))

 

  • 출력 : <class 'bool'>
  • 출력 : <class 'bool'>
  • type(x)는 x의 자료형을 확인하는 함수

 

print(1 == 1)

print(2 > 1)

print(2 < 1)

 

  • 출력 : True
  • 출력 : True
  • 출력 : False

 

2) 자료형의 True, False

자료형에도 True, False의 값을 가지고 매우 중요한 특징이며 실제로도 자주 쓰인다.

 

 True 또는 False
"python" True
"" False
[1, 2, 3] True
[] False
(1, 2, 3) True
() False
{'a': 1} True
{} False
1 True
() False
None False

 

  • 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면 False, 비어 있지 않으면 True
  • 숫자에서 그 값이 0이면 False
  • None은 False

 

3) 연산

bool() 함수 사용

 

print(bool('python'))

print(bool(''))

print(bool([1, 2, 3]))

print(bool([]))

print(bool(0))

print(bool(3))

 

  • 출력 : True
  • 출력 : False
  • 출력 : True
  • 출력 : False
  • 출력 : False
  • 출력 : True

 

파이썬의 가장 기본이 되는 자료형 숫자, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불에 대해서 알아보았다. 자료형은 중요하고 프로그램의 근간이 되기 때문에 확실하게 해놓지 않으면 안 된다. 그래서 자료형만 끝냈지만, 파이썬에 대해 대략 50% 정도 알았다고 말하는 사람도 있다.

 

 

2. 변수

자료형의 값을 지정하는 공간

 

변수란 객체를 가리키는 것이다. 지금까지 본 자료형의 데이터(값)와 같은 것을 의미한다.

변수를 만들 때는 "변수_이름 = 변수에_저장할_값"으로 만든다. 다른 프로그래밍 언어인 C나 Java에서는 변수를 만들 때 자료형의 타입을 지정해야 하지만 파이썬은 변수에 저장된 값을 스스로 판단해 자료형의 타입을 지정한다.

 

a = [1, 2, 3]이 있을 때, [1, 2, 3] 값을 가지는 리스트 데이터(객체)가 자동으로 메모리에 생성되고 변수 a는 [1, 2, 3] 리스트가 저장된 메로리의 주소를 가리키게 된다.

 

a = [1, 2, 3]
print(id(a))

 

  • 출력 : 1374224765312
  • Id()는 변수가 가리키고 있는 객체의 주솟값을 리턴하는 함수
  • 출력되는 주솟값은 모두가 다르게 나온다.

 

1) 리스트 복사

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

print(id(a))
print(id(b))

 

  • 출력 : 2409790691584
  • 출력 : 2409790691584

 

a와 b는 완전히 동일한 것이다. [1, 2, 3]이라는 리스트 객체를 참조하는 변수가 a 1개에서 b 변수가 추가 되어 2개가 됐을 뿐이다.

 

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

a[2] = 4

print(a)
print(b)

 

  • 출력 : [1, 2, 4]
  • 출력 : [1, 2, 4]

 

같은 주솟값을 가리킬 때 요솟값을 바꾸면 똑같이 변한다. 결국 변수만 다르고 주솟값이 같다는 것을 보여준다.

 

(1) 슬라이싱 이용

a = [1, 2, 3]
b = a[:]
a[2] = 4

print(a)
print(b)

 

  • 출력 : [1, 2, 4]
  • 출력 : [1, 2, 3]

 

a 리스트값을 바꿔도 b 리스트에는 아무런 영향이 없다. a 변수의 값을 가져오면서 a와는 다는 주소를 가리키게 된 것이다.

 

(2) copy 모듈 사용

from copy import copy
a = [1, 2, 3]
b = copy(a)

print(b is a)

 

  • 출력 : False
  • is는 동일한 객체를 가리키고 있는지에 대해서 판단하는 명령어

 

2) 변수 만드는 여러 가지 방법

a, b = ('python', 'life')
(c, d) = 'py', 'love'
[e, f] = ['math', 'fun']
g = h = 'park'

print(a, b, sep=', ')
print(c, d, sep=', ')
print(e, f, sep=', ')
print(g, h, sep=', ')

 

  • 출력 : python, life         튜플로 a, b에 값을 대입
  • 출력 : py, love              튜플은 괄호 생략 가능
  • 출력 : math, fun           리스트로 변수 만들기 가능
  • 출력 : park, park          여러 개의 변수에 같은 값을 대입

 

a = 3
b = 5
a, b = b, a

print(a)
print(b)

 

  • 출력 : 5
  • 출력 : 3

 

파이썬에서는 두 변수의 값을 매우 간단하게 바꿀 수 있다.

 

 

3. 연산자 우선 순위

  • 산술 연산자 > 비교 연산자 > 불 연산자

 

 

댓글