Python 53

Python - iterator , generator

iterable iterable 객체란 반복 가능한 객체를 뜻하며 iterable 객체에는 list, set, dict, tuple, str, bytes, range 가 있다 iterator iterator 객체란 값을 차례대로 꺼낼 수 있는 객체를 뜻하며 iterable한 객체를 내장함수 또는 iterable객체의 메소드로 객체를 생성할 수 있습니다 파이썬 내장함수 iter()를 사용해 iterator 객체를 만들 수 있습니다 또한 next()를 사용해서 값을 차례로 꺼낼 수 있습니다 numbers = [1,2,3,4,5] numbers_iter = iter(numbers) next(numbers_iter)#1 next(numbers_iter)#2 next(numbers_iter)#3 next(numb..

Python 2022.05.16

Python-Decorator(데코레이터)

Decorator 함수의 내부를 수정하지 않고 기능에 변화를 주고 싶을 때 사용한다 일반적으로 함수의 전처리나 후처리에 대한 필요가 있을때 사용을 한다 또한 데코레이터를 이용해, 반복을 줄이고 메소드나 함수의 책임을 확장한다 @ 으로 시작하는 것이 데코레이터들이다 def trace(func): # 호출할 함수를 매개변수로 받음 def wrapper(): print(func.__name__, '함수 시작') # __name__으로 함수 이름 출력 func() # 매개변수로 받은 함수를 호출 print(func.__name__, '함수 끝') return wrapper # wrapper 함수 반환 @trace # @데코레이터 def hello(): print('hello') @trace # @데코레이터 de..

Python 2022.05.16

[21.05.03] *args 와 **kwargs

*args arguments 의 약자로 인자 값을 전달 받는다는 의미 사용자가 원하는 만큼 인자를 전달할수있고 함수내부에서 여러 값을 튜플로 전달 된다 *args 라고 꼭 적을 필요없이 *name *food 로 원하는 이름을 적어도 된다 ( args가 통상적으로 쓰인다고 함) -파이썬은 *args 가 어디서부터 어디까지가 *args 인지 모르기떼문에 *args 는 일반변수보다 항상 뒤에 있어야하며 일반변수보다 앞에올 경우 에러가 난다 ex) def myfunc(*args): print(args) print(sum(args)) myfunc(1,3,42,52) ''' 튜플로 전달받음 (1, 3, 42, 52) 98 ''' **kwargs keywardarguments의 약자로 키워드를 전달받는다는 의미 함수..

Python 2022.05.03