1
다음 장식 된 파이썬 함수에서 요청 및 request.db의 범위를 이해하는 데 어려움을 겪고 있습니다 (이 함수는 피라미드 "하나의 파일에있는 Todo 목록 응용 프로그램"자습서의 일부입니다) :피라미드 함수 내의 객체 범위
@subscriber(NewRequest)
def new_request_subscriber(event):
request = event.request
settings = request.registry.settings
request.db = sqlite3.connect(settings['db'])
나는 함수에서 할당이 전역으로 선언하지 않는 한 그 함수에 대한 범위가 제한 알았는데; 그래서 내 잘못 이해에 따르면, request와 request.db는 함수가 완료되면 범위를 벗어날 것입니다. 하지만이 경우에는 request.db가 다른 함수 내에서 연속적으로 액세스되기 때문에 분명히 오인됩니다. 누군가가 마법 물건의 요청과 요청의 기원과 범위를 설명 할 수 있습니까?