#2 PYTHON의 DATA TYPE
파이썬은 OOP(Object-oriented programming)패러다임을 가지고 있다.
따라서 class라는 것을 정의해서 사용할수 있는데
이때 class 는 객체의 상태(속성=property)와 행동(=method)으로 구성된다.
클래스 또한 아날로그적인 ADT로 볼수 있는데 사용자는 data item의 상태와 행동만을 보기 때문이다.
Data item은 우리가 객체(object)라 부르고
객체(object)는 클래스의 인스턴스(instance)라 한다.
Built-in Atomic Data Types
지금부터 atomic data type , 즉 파이썬이 가지고 있는 개별단위(?)의 data type을 살펴보자.
1 . numeric class
+, - , * , / , ** , (), %, //
2 . bool class
📝 boolean Operator
Logical : and, or, not
Relational : <, >, <=, >=, ==, !=
🔔알고 넘어가야 할것!
mynum = 1 이라고 하면 mynum이라는 variable이 생성되면서 1이라는 숫자가 되는게 아니라 1이라는 숫자의 주소를 참조하는 것이다.
즉 1이라는 객체가 int class로 부터 생성이 되고 mynum은 1이라는 객체의 주솟값을 참조한다고 생각을 해주면 되겠다.
Built-in Collection Data Types
1 . List Class - mutable(변경가능)
data object에 대해 0개 이상의 참조(변수)를 가진 순서가 있는 모음
list는 순서가 있기 때문에
Python Sequence의 Operations을 사용할 수 있다.
📝 Python Sequence Operator
indexing - [] , + , * , membership - in, len, [:]
🔨 List Methods
append, insert, pop, sort, reverse, del, index, count, remove
🔔주의사항!
mylist = [1,2]
A = mylist*2 A : [1,2,1,2]
mylist[1] = 0 A : [1,0,1,0]
변수는 해당 객체의 주솟값을 참고하므로 객체가 변경되면 변경사항이 같이 적용된다.
2 . Strings - immutable(변경 불가능)
0개 이상의 연속된 글자(순서있음)
📝 Python Sequence Operator 사용가능
🔨 String Methods
center, count, ljust, lower, rjust, find, split
3 . Tuple - immutable
list와 비슷하지만 값의 변경이 불가능한 순서있는 연속된 data이다.
📝 Python Sequence Operator 사용가능
4 . Set - immutable
0개 이상의 Python data objects로 이루어진 순서가 없는 collection
중복된 값도 허용하지 않는다
empty set 은 set()으로 표시한다.
📝 Set Operator
membership - in , len, | , &, -, <=(contain)
🔨 Set Methods
union, intersection, difference, issubset, add, remove, pop, clear
5 . Dictionary - mutable
key와 value의 쌍으로 구성된 순서 없는 collection
📝 Dictionary Operator
Return value or add pair - [], key in dictionary - in, del
🔨 Dictionary Methods
keys, values, items, get, get(key, alt) - 미지정시 none
댓글 없음:
댓글 쓰기