폐쇄 기능
정의 폐쇄 기능
폐쇄 : 폐쇄 된 (내부 함수의 함수)를 닫으면, 상기 패키지 (내부 함수보다는 글로벌 범위의 가변 범위 외부 참조)이다.
폐쇄 수단은 : 내부, 외부 기준의 기능 및 전역이 아니 범위의 기능.
예 폐쇄 기능
import requests
def outter(url):
def get():
response = requests.get(url)
print(f"done: {url}")
return get
baidu=outter('https://www.baidu.com')
python = outter('https://www.python.org')
baidu()
baidu()
python()
python()
레이어 장식
장식 정의
장치는 공구를 지칭하고, 프로그램의 함수가 장식 오브젝트에 추가 기능을 추가하는 장식 지칭 기능성 도구를 가지고있다. 따라서, 장식 정의 함수를 정의하지만, 함수의 기능은 다른 기능으로 기능을 추가하는 데 사용된다.
데코레이터 원칙
두 가지 원칙을 따라야 장식을 달성 :
- 객체의 소스 코드를 수정하지 않습니다 장식한다
- 전화는 장식용 물건의 방식을 수정하지 않습니다
레이어 장식 템플릿
def outter(func):
def innter(*args,**kwargs):
# 代码块 需要实现的功能
res = func(*args,**kwargs)
return res
return innter
세 가지 장식
레이어 층 외부 장식 데코는 함수를 래핑하는 파라미터는 장식 층을 통과
def sanceng(engine):
def outter(func):
def wrapper(*args, **kwargs): # wrapper是未来要运行的函数
# 加功能
res = func(*args, **kwargs) # func是被装饰的函数
return res
return wrapper
return outter
반복자 도입
정의는 반복 가능 객체 : __ iter__ 메소드가 불려 반복 가능 객체를
정의 반복자 수 : __ iter__ 및 __ next__ 방법이라고 반복자를