반응형 문법2 파이썬 문법 : 데코레이터 함수 함수의 앞 뒤 부가적인 기능을 넣어주고 싶을때 사용한다 클로저를 사용해서 구현한다. 데코레이터는 @를 함수위에 적용하여 사용한다 def logger(func): def wrapper(): print("함수시작") func() print("함수종료") return wrapper @logger def print_hi(): print("hi") print_hi() # OUTPUT 함수시작 hi 함수종료 매개변수 전달 @logger def print_hi(name): print(name, 'hi') print_hi("tom") # OUTPUT print_hi("tom") TypeError: logger..wrapper() takes 0 positional arguments but 1 was given 위와 같이.. 2023. 3. 13. 파이썬 문법 : 제너레이터 함수 이터러블 객체 순서가 있는 자료형 문자열, 리스트, 튜플, 딕셔너리, range 객체 __iter__(), __next__() 메소드가 정의되어있다. 제너레이터 함수 이터레이터를 만드는 함수이다. yield 사용한다 제너레이터 표현식을 사용해서 만들 수 있다. 메모리 사용이 효율적이다. List 같은 경우 결과 값을 메모리에 저장한다. 제너레이터의 경우 식만 저장할뿐 값을 저장 하지 않는다. __next__ 함수가 호출 될 때에 결과값을 만든다 # yield 사용 def gen_func(*args): for arg in args: yield arg month = gen_func('1월', '2월', '3월', '4월') print(month.__next__()) # 1월 print(month.__next.. 2023. 3. 9. 이전 1 다음 728x90 반응형