a = 10
공간을 할당하고 우측의 값을 넣고나서 변수명을 할당
따라서, a = 100000000000000000000000000000000000000000 라고 해도
공간을 할당하고 우측의 값을 넣기 때문에, C 언어(int형은 4bytes...)와 다르게 정상적으로 수행 됨
mutable 타입 |
immutable 타입 |
byte array list set dict |
int, float, long, complex |
인덱스를 이용한 값 변경 가능 |
인덱스를 이용한 값 변경 불가 |
대상체를 선언시마다 다른 주소 할당 같은 값으로 다른변수에 선언 시 서로 다른 주소 list1 = [10,20] list2 = [10,20] id(list1) != id(list2) # shallow copy list2 = list1 id(list1) == id(list2) # deep copy list2 = deepcopy(list1) id(list1) != id(list2) |
대상체를 하나만 생성. 같은 값을 생성하면 다른 변수라도 같은 주소 가리킴 a = 1; b = 1; id(a) == id(b) |
- Int 타입
2진수 / 8진수 / 16진수 형태로 값 사용 가능
a = 0b11111111
a = 0o377
a = 0xFF
- float 타입
- complex 타입 (복소수)
- bool 타입
- str 타입 (문자열타입) - immutable 타입
칸이 넘어가는 경우 \ 문자로 이어줄 수 있음
a = "abc\
def"
위 a 출력하면 a="abcdef"
""" 로 시작하고 """ 로 끝나는 경우 그 사이의 모든 내용을 문자열로 인식
a = """hi
hello
nice
"""
위 a 출력하면 아래와 같이 출력됨
hi
hello
nice
- List 타입
- Tuple 타입 (속도가 List보다 빠름) - immutable 타입
- Packing
- 괄호없이 선언 시 자동으로 Tuple 로 선언됨
- Unpacking
- Tuple 의 요소만큼 변수 선언 및 할당 시 풀어짐
- dict 타입
요소 추가 시
x["c"] = 40
- set 타입
요소들 중에서 유일한 값을 담음. 중복되는 값이 있으면 하나만 담음
순서를 고려하지 않음
인덱스 허용하지 않음
x = {10, 10, 20, 30, 40, 10, 20}
print(x) (= {40, 10, 20, 30}]
x1 = {10, 10, 20, 30, 40, 10, 20}
x2 = {30, 40, 50, 60, 70,}
print(x1 | x2) (= {70, 40, 10, 50, 20, 60, 30} )
print(x1 & x2) (= {40, 30} )
print(x1 - x2) (= {10, 20})
print(x1 ^ x2) (= {70, 10, 50, 20, 60})
- None 타입
- 타입변환
'교육 > Python 0309-0313' 카테고리의 다른 글
04. 클래스 (0) | 2015.03.11 |
---|---|
04. 함수 (0) | 2015.03.10 |
03. 흐름제어 (0) | 2015.03.09 |
02. 연산자 (0) | 2015.03.09 |
Python 환경설정 (0) | 2015.03.09 |