본문 바로가기

교육/Python 0309-0313

01. 자료형

a = 10

공간을 할당하고 우측의 값을 넣고나서 변수명을 할당

따라서, a = 100000000000000000000000000000000000000000 라고 해도

공간을 할당하고 우측의 값을 넣기 때문에, C 언어(int형은 4bytes...)와 다르게 정상적으로 수행 됨


mutable 타입

immutable 타입

byte array

list

set

dict

int, float, long, complex
str
bytes
tuple
frozen set

인덱스를 이용한 값 변경 가능

인덱스를 이용한 값 변경 불가 

대상체를 선언시마다 다른 주소 할당

같은 값으로 다른변수에 선언 시 서로 다른 주소


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 타입
일반 실수형 및 지수형으로도 사용 가능
a = 3.14
a = 3.1414e2 (=314.14)
  • complex 타입 (복소수)
실수 + 허수 사용
a = 3 + 4j
a.real >> 3
a.imag >> 4
a.conjugate() >> 3-4j (=켤레복소수)
  • bool 타입
처글자 대문자 주의
True / False
  • str 타입 (문자열타입) - immutable 타입
'', "" 모두 문자열로 취급

칸이 넘어가는 경우 \ 문자로 이어줄 수 있음

a = "abc\

def"

위 a 출력하면 a="abcdef"


""" 로 시작하고 """ 로 끝나는 경우 그 사이의 모든 내용을 문자열로 인식

a = """hi

hello

nice

"""

위 a 출력하면 아래와 같이 출력됨

hi

hello

nice

  • List 타입
[ ] 괄호로 묶인다
, 로 값을 구분하며, 각 요소는 다양한 타입을 사용할 수 있다.
마이너스(-) 인덱스도 사용가능
myList = [10, 1.34, 'k', True]
print(myList[-1]) (= True)
print(myList) (= [10, 1.34, 'k', True])
  • Tuple 타입 (속도가 List보다 빠름) - immutable 타입
( ) 괄호로 묶인다
, 로 값을 구분
마이너스(-) 인덱스도 사용가능
튜플이 구성되고 나면 값을 바꿀 수 없음.
myTuple =(10, 20, 30)
print(myTuple[0]) = 100 (컴파일오류남)
    • Packing
      • 괄호없이 선언 시 자동으로 Tuple 로 선언됨
x = 10, 20, 30
print(type(x)) (= Tuple Type)
    • Unpacking 
      • Tuple 의 요소만큼 변수 선언 및 할당 시 풀어짐
x1, x2, x3 = (10,20,30)
print(type(x1))
print(x1)    (= 10)
print(type(x2))
print(x2)    (= 20)
print(type(x3))
print(x3)    (= 30)


  • dict 타입
{ } 괄호 사용
{key:값...} 으로 사용
,로 구분
키값을 인덱스로 사용해야 함
x = {"h":10, "b":20, "a":30}
print(x["a"]) (= 30)


요소 추가 시

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 타입
x = None


  • 타입변환
int, float, str, set, tuple, dict, list 등 자료형을 써서 형변환
x = "100"
x = int(x)




'교육 > 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