할당된 값을 수정할 수 있는 객체(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]
리스트처럼 여러 개의 값(요소)을 일렬로 늘어놓을 수 있지만, 값을 바꿀 수 없다.
c = tuple(range(1, 6))
(1, 2, 3, 4, 5)
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
int, boolean 이 왜 불가변일까요? 이미 값이 있기때문인것 같네요.
이해가 안되서 검색하보다 왔습니다. 감사합니다.