Category: Python

0

Python에서 Save File을 만드는 3가지 방법

excel file로 저장하기 12345678910111213141516171819# openpyxl module 등록from openpyxl import Workbook# 내용을 저장하기 위해 메모리 상에 파일 만들기wb = Workbook()# wb.activate를 사용하면 엑셀 처음 시트를 가져온다.# wb.create_sheet()를 통해 시트를

0

generator

body 안에 yield 파이썬 코루틴의 구현은 generator를 기반으로 한다. 파이썬 stack frame이 heap에 저장되어 있기 때문에 가능하다. return 값은 StopIteration이 발생했을 때 반환된다. StopIteration도 객체이다. 1234567891011def gen(): print('gen start') y

0

iterator

next() 함수에 의해서 값을 하나씩 반환(next 호출 시점) StopIteration custom iterator 정의한 클래스가 이터레이터를 지원하려면 iter 메서드를 정의해야함 iter 메서드에는 자신을 돌려주면 됨1234567891011121314151617181920212223242526272829303132333435363738394041

0

Queue

FIFO(First In, First Out) 선입선출 먼저 들어온 것이 먼저 나가는 방식 12345678910111213141516171819202122232425262728293031class Queue: def __init__(self): self.container = list() def empty(self):

0

class

OOP 설계 계좌 만들기 예제를 통해 구현 class 모습을 살펴보자. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838

0

얕은 복사(shallow copy)와 깊은 복사(deep copy)

리스트 예시 12345678910li = [1, 2, 3]# 참조(reference). 둘은 완벽하게 같은 객체.li2 = lili2>> [1, 2, 3]li2.append(4)li>> [1, 2, 3, 4] 얕은 복사(shallow copy) 얕은 복사를 하면 공간을 복사해서 다른 공간이 생긴다. 하지만 바라보고 있는 대

0

call by object reference

Call by assignment 객체 참조에 의한 호출 stack frame 그림을 직접 그려보자. 변경할 수 없는 객체(immutable)의 경우12345678910111213141516def change_value(num, new_num): num = new_num print('%d in change value' % num)# 파이썬에서

0

closure

함수 내부에 상태 정보를 가지고 있다. 상태 정보 = 관련 있는 데이터(함수가 처리하려는 데이터) class를 사용할 수 없을 때 쓴다. 계좌 만들기 예제 12345678910111213141516171819202122232425262728293031323334353637383940414243def account(clnt_name, balance):

0

decorator

쉽게 기능을 추가할 수 있다. 1234567891011121314151617# 처음 함수를 정의할 때 쓰는 *의 의미는 가변인자를 사용한다는 의미이다.# 함수를 호출할 때 쓰는 *의 의미는 unpacking을 의미한다.(tuple, dictionary)def outer(org_func): def inner(*args, **kwargs):

0

Lambda function

익명 함수 이름이 없다. 함수를 재사용하지 않고 몇번 정도만 쓸때 아래와 같이 일반적인 함수는 객체를 만듦 재사용을 위해 함수 이름(메모리)를 할당 12345def func(a, b): return a + bfunc>> <function __main__.func(a, b)> 아래와 같이 람다 함수를 쓸 경우, 변수에 할