
Set 특징 Set은 중복을 허용하지 않음(중복제거, unique한 값을 가짐) Set은 순서가 없음 Set 만들기 >>> s1 = set() # 빈 set 만듬 >>> s1 set() >>> s2 = set([1, 2, 1, 3]) >>> s2 {1, 2, 3} # 또는 >>> s2 = set(range(1, 4)) >>> s3 = {1, 2, 1, 3} >>> s3 {1, 2, 3} 아이템 추가 >>> s = set() >>> s.add(1) >>> s.add(2) >>> s.add(1) >>> s {1, 2} 여러 아이템 추가 한번에 추가 >>> s = set() >>> s.update([1, 2, 3]) >>> s {1, 2, 3} 아이템 가져오기 .pop()을 사용하면 맨 왼쪽의 아이템이 반환되..

Tuple은 list나 dictionary와 다른게 한번 만들어 지면 변경될 수 없음(immutable). 데이터 모음이 변경되지 않는 것을 보장해야 할 때 사용. ()를 사용하여 만듬. Tuple 만들기 >>> t = () # 빈 tuple >>> t = tuple() # tuple() 빌트인 함수 사용 아이템 추가 한번 만들어진 tuple은 아이템을 추가하거나 변경 할 수 없기 때문에 사실상 아이템을 추가 할 수 있는 방법이 없고 tuple을 만들면서 아이템을 추가하여야 함. >>> t = (0,) >>> t = 0, 'spam', 1.2 >>> t = tuple('spam') ('s', 'p', 'a', 'm') >>> t = tuple(0) # iterable한 아이템만 사용가능 TypeError..

Dictionary은 말 그대로 사전처럼 인덱스(Key)를 기준으로 원하는 값을 찾기위해 사용. 다른 프로그램 언어(예: 자바스크립트)에서는 map이라고도 함. {}를 사용하여 만들며 {키: 값} 형식으로 데이터를 저장. dict() Built-in 함수를 사용하여 만들 수도 있음. key에는 mutable(예: list)한 타입은 사용할 수 없음(예: tuple은 사용가능) value(값)에는 모든 type(예: list, dictionary, tuple) 사용 가능. List와 다르게 데이터의 순서(sequence) 없음(list는 데이터를 넣은 순서대로 정렬되고 index를 이용하여 값을 찾음. Dictionary는 키를 이용하여 값을 찾기에 순서가 필요 없음) Dictionary 만들기 >>> a..

파이썬 자료구조 형태의 하나로 시퀀스 데이터를 가지고 있음. 시퀀스는 데이터의 순서를 정하는 것을 의미 하므로 순서를 가지고 있고 index를 사용하여 값을 가져 올 수 있음. 보통 list는 원하는 데이터를 하나의 변수로 정의하여 사용하기 위해 사용. 예를 들어 >>> animal = ['dog', 'cat', 'monkey'] >>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 와 같이 의미가 같은 값들을 하나의 변수로 묶어 사용할 수 있다. List 만들기 >>> a = [] # 빈 list 생성 >>> b = list() # built-in 함수를 사용 >>> c = [1, 2, 3, 4] >>> c [1, 2, 3, 4] >>> d = ['a', 'b', 'c', ..

String 변수 만들기 >>> a = '' # 빈 string 만들기 >>> a '' >>> type(a) str >>> b = str() >>> b '' >>> type(b) str >>> a = 'String' >>> a 'String' >>> type(a) str 숫자로 만들어진 String은 Integer가 아님 >>> a = '1' >>> a '1' >>> type(a) str >>> b = 1 >>> b 1 # (주의) ''(작은 따옴표)가 없으면 integer 임 >>> type(b) int Apostrophe 사용하기 >>> a = "String's" # Apostrophe를 사용하기 위해서는 큰 따옴표를 사용. >>> a "String's" String 변수를 만들 때 큰 따옴표(“”)..

변수 선언 파이썬은 아래와 같이 변수 선언 >>> a = 1 # int 형 선언 >>> type(a) # type() 빌트인 함수를 사용하여 형 확인 int >>> a 1 >>> a = '1' # ''를 사용하면 str 형이 선언 >>> type(a) str >>> a '1' >>> a.isdigit() # isdigit()를 사용하여 str형이 정수형 str인지 확인 가능 True >>> a = 'string' # str 형 선언 >>> type(a) str >>> a 'string' >>> a = 1.23 # floating 형 선언 >>> type(a) float >>> a 1.23 >>> a = [1, 2, 3] # list 형 선언 >>> type(a) list >>> a [1, 2, 3] >>..
Class in Python3 클래스의 구조는 Python2와 Python3가 다름. Python2는 더 이상 개발이 되지 않기에 Python3 내용만 기록. 클래스를 정의하면 클래스 오브젝트(객체)가 되고, 인스턴스를 생성하면 인스턴스 오브젝트(객체)가 됨. 편의상 클래스 오브젝트를 클래스로, 인스턴스 오브젝트를 인스턴스로 표기. 클래스 생성 클래스는 아래와 같이 class 구문을 사용하여 정의하며 클래스가 생성됨. class Test: pass 인스턴스 생성 인스턴스는 아래와 같이 생성하며 인스턴스가 생성됨. test = Test() 변수 클래스 변수 class Test: class_var = 0 >>> Test.class_var 0 >>> test = Test() >>> test.class_var ..
datetime을 사용할 때 timezone 정보를 주어 명확하게 사용 KST = datetime.timezone(datetime.timedelta(hours=9)) korea = datetime.datetime(2019, 1, 1, 0, 0, 0, tzinfo=KST) naive datetime naive datetime 객체는 그 자체만으로 시간대를 찾을 수 있는 충분한 정보를 포함하시 않음 datetime.datetime(2019, 2, 15, 4, 58, 4, 114979) aware datetime(timezone-aware) 시간대를 포함. datetime.datetime(2019, 2, 15, 4, 58, 4, 114979, tzinfo=) aware datetime 객체는 자신의 시각 정보..

변수는 상자가 아니다 파이썬에서 변수는 이름표 파이썬 변수는 자바에서의 참조 변수와 같다. 변수는 객체에 붙은 레이블이다 a = [1, 2, 3] b = a a.append(4) b # [1, 2, 3, 4] 참조 변수의 경우 변수가 객체에 할당되었다는 표현이 객체를 변수에 할당했다는 표현보다 훨씬 타당. 결국 객체는 변수가 할당되기 전에 생성 된다. class Gizmo: def __init__(self): print('Gizmo id: %d' % id(self)) x = Gizmo() # Gizmo id: 4301489152 y = Gizmo() * 10 # Gizmo id: 4301489432 # 곱셈을 시도하기 전에 Gizmo 객체가 실제로 생성되었음을 입증 # TypeError: unsuppor..
문/표현식 예제 호출 표현식 myfunc('spam', meat = ham) def def printer(message): print('hello' + message) return def adder(a, b = 1, *c): return a + b + c[0] global x = 'old' def changer(): global x; x = 'new nonlocal(3.x) def outer(): x = 'old' def changer(): nonlocal x; x = 'new' yield def squares(x): for i in range(x): yield i ** 2 lambda funcs = [lambda x: x**2, lambda x: x**3] def는 실행 가능한 코드 def는 객체를 생..