개발/Python

[기본 1] Python의 데이터 타입

cozynow 2017. 12. 27. 23:19
Python DataType

Python의 데이터 타입

1. 수치자료형

가. 정수 int

In [29]:
#java와 달리 Type 선언없이 변수에 할당하면 그 타입으로 변수 선언
a = 3
b = a*3
#한번 제대로 할당되었나 확인
#print(a)
print("1. type = {}\n   id = {}\n   a ={}".format(type(a), id(a), a))
print("2. a*3 = {}".format(a*3))
print("3. b = {}".format(b))
1. type = <class 'int'>
   id = 10919488
   akami =3
2. a*3 = 9
3. b = 9

나. flat

In [32]:
#위의 id를 보면 다르다 즉 위의 a와 아래 a는 다르다.
a = 3.0
b = a * 3
print("1. type = {}\n   id = {}\n   a ={}".format(type(a), id(a), a))
print("2. a*3 = {}".format(a*3))
print("3. b = {}".format(b))
1. type = <class 'float'>
   id = 140606235091472
   a =3.0
2. a*3 = 9.0
3. b = 9.0

다. complex(복소수)

  • $i^2 = -1$ 이 되는 복소수를 말한다.
  • 이때, 허수부 뒤에는 j 또는 J로 표현한다.
  • ps) 잊혀진 어두운 고등학교 시절의 수학시간을 떠올리게해서 불쾌하지만, 아쉬우니 다시본다.
  • ps) 복소수 $x=yi+b$ 의 절대값 $\sqrt{y^2+b^2}$ 이다.
In [45]:
y = 5j + 1
print("1. type = {}\n   id = {}\n   y ={}".format(type(y), id(y), y))
print("2. 실수 = {}, 허수 ={} ".format(y.real, y.imag))
print("3. 켤레복소수 = {} ".format(y.conjugate()))
print("4. 복수수의 절대값 = {} ".format(abs(y)))
1. type = <class 'complex'>
   id = 140606244338992
   y =(1+5j)
2. 실수 = 1.0, 허수 =5.0 
3. 켤레복소수 = (1-5j) 
4. 복수수의 절대값 = 5.0990195135927845 

라. boolean(True/False)

  • 첫 글자가 대문자라는 것을 주의해야 한다.
In [49]:
x = 1
y = x > 0
print("1. type = {}\n   id = {}\n   y ={}".format(type(y), id(y), y))
1. type = <class 'bool'>
   id = 10744160
   y =True

2. 군집을 다루는 자료형

가. str(문자열)

In [56]:
name = 'akami'
print(name)
print("1. type = {}\n   id = {}\n   name ={}".format(type(name), id(name), name))
name = """kang"""
print("2. type = {}\n   id = {}\n   name ={}".format(type(name), id(name), name))
name = """kim
kang
akami
hi!~
"""
print("3. type = {}\n   id = {}\n   name ={}".format(type(name), id(name), name))
akami
1. type = <class 'str'>
   id = 140606253004256
   name =akami
2. type = <class 'str'>
   id = 140606306027872
   name =kang
3. type = <class 'str'>
   id = 140606243958120
   name =kim
kang
akami
hi!~

나. list(리스트)

  • '[',']' 즉 대괄호를 사용한다.
In [57]:
scores = [80, 90, 85, 78]
print("1. type = {}\n   id = {}\n   scores ={}".format(type(scores), id(scores), scores))
1. type = <class 'list'>
   id = 140606234706824
   name =[80, 90, 85, 78]

다. tuple(튜플)

  • 괄호()로 표현한다.
In [58]:
data = (3,6,7,5,3)
print("1. type = {}\n   id = {}\n   data ={}".format(type(data), id(data), data))
1. type = <class 'tuple'>
   id = 140606252802296
   name =(3, 6, 7, 5, 3)

라. set(집합)

  • java와 동일한 collection 객체중 하나인 set 처럼 중복된 데이터가 들어갈 수 없다.
In [60]:
names = {1,22,32,3,3,4,5}
#순서를 알 수 없다.
print("1. type = {}\n   id = {}\n   names ={}".format(type(names), id(names), names))
1. type = <class 'set'>
   id = 140606320536936
   names ={32, 1, 3, 4, 5, 22}

마. dict(사전)

  • key와 value가 한쌍으로 구성되는 집합의 종류
In [61]:
#예) A 그룹 10, B그룹 20 이라고 할때, 중복은 안됨
group = {'A':10, 'B':20, 'A':30}
print("1. type = {}\n   id = {}\n   group ={}".format(type(group), id(group), group))
1. type = <class 'dict'>
   id = 140606235127624
   group ={'B': 20, 'A': 30}

바. 주석

  • 한줄 주석 #
  • 여러줄(범위) 주석 """ = > 이 쌍따옴표 3개로 작성한 것을 docstring 이라고 한다.
In [62]:
"""안녕하세요
나는 akami 입니다.
"""
#인사할게요.
print("HI")
HI