TIL 15 | Python, 가변 객체, 불변 객체, 자료형

ryan·2020년 7월 31일
1

Python

목록 보기
3/18

가변 객체

할당된 값을 수정할 수 있는 객체(list, set, dic 등)

a = [1, 2, 3]

>>> a
[1, 2, 3]

a[1] = 5

>>> a
[1, 5, 3] # list는 수정이 된다.

불변 객체

할당된 값을 수정할 수 없는 객체(int, float, str, tuple 등)

b = (1, 2, 3)

>>> b
(1, 2, 3)

b[1] = 5
TypeError: 'tuple' object does not support item assignment # tuple을 수정하려하니 에러가 남.

파이썬 자료형

프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻함. 프로그램의 기본이자 핵심 단위가 바로 자료형.(숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불 자료형)

숫자형

숫자 형태로 이루어진 자료형.

# 정수: 2020, -11, 0
# 실수: 483.29, -239.33, 2.4e14
#2진수: 0b1010
#8진수: 0o36, 0o32
#16진수: 0x3A, 0xEF

>>> a = 2000
>>> b = 20

print(a + b)
2020

문자열 자료형

문자, 단어 등으로 구성돈 문자들의 집합

# ": "Hello, Korea!"
# ': 'c'
# """: """123"""
# ''': '''Nice to meet you'''

리스트 자료형

여러 개의 값(요소)을 일렬로 늘어놓은 형태

[1, 2, 3, 4, 5]

튜플 자료형

리스트처럼 여러 개의 값(요소)을 일렬로 늘어놓을 수 있지만, 값을 바꿀 수 없다.

  • 튜플 = list(range(10))
  • 튜플 = list(range(시작, 끝))
  • 튜플 = list(range(시작, 끝, 증가폭))
c = tuple(range(1, 6))
(1, 2, 3, 4, 5)

range를 사용해서 리스트와 튜플 만들기

range는 연속된 숫자를 생성한다.

# list

range(10) # 10을 지정하면 0부터 9까지 숫자 생성
range(0, 10)
list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 지정한 횟수 숫자는 생성되는 숫자에 포함되지 않음

a = list(range(2, 6))
>>> a
[2, 3, 4, 5]

c = list(range(-3, 10, 2))
>>>c
[-3, -1, 1, 3, 5, 7, 9]

d = list(range(5, 0, -1))
>>>d
[5, 4, 3, 2, 1]



* tuple

a = tuple(range(2, 6))
a
(2, 3, 4, 5)

c = tuple(range(-3, 10, 2))
c
(-3, -1, 1, 3, 5, 7, 9)

d = tuple(range(5, 0, -1))
d
(5, 4, 3, 2, 1)

딕셔너리 자료형

연관된 값을 묶어서 저장하는 자료형

parkhyoshin = {'name': '박효신', 'Date of Birth': '1981.12.01', 'height': '178cm', 'weight': '65kg'}

parkhyoshin
{'name': '박효신', 'Date of Birth': '1981.12.01', 'height': '178cm', 'weight': '65kg'}

집합 자료형

집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형

a1 = set([3, 4, 5])
a1
{3, 4, 5}

b2 = set('apple')
b2
{'a', 'l', 'e', 'p'}

집합 자료형은 중복을 허용하지 않고, 순서가 없음.

불 자료형

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

a = True
b = False

1 == 1
True

1 > 3
False




정수 0, 실수 0.0이외의 모든 숫자는 True
bool(1)
True

bool(0)
False

빈 문자열 '', ""를 제외한 모든 문자열은 True
bool('False')
True

bool('')
False

bool(" ")
True



객체가 같은지 다른지 비교할 때는
is, is not을 사용

1 == 1.0
True

1 is 1.0
False

1 is not 1.0
True
profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

1개의 댓글

comment-user-thumbnail
2021년 8월 30일

int, boolean 이 왜 불가변일까요? 이미 값이 있기때문인것 같네요.
이해가 안되서 검색하보다 왔습니다. 감사합니다.

답글 달기