Với chức năngintrospecting lồng chức năng một chức năng nhất định của (địa phương) trong Python
def f():
x, y = 1, 2
def get():
print 'get'
def post():
print 'post'
là có cách nào cho tôi để truy cập get nó địa phương() và sau() chức năng trong một cách mà tôi có thể gọi cho họ ? Tôi đang tìm kiếm một chức năng mà sẽ làm việc như vậy với hàm f() định nghĩa ở trên:
>>> get, post = get_local_functions(f)
>>> get()
'get'
tôi có thể truy cập vào mã đối tượng cho những chức năng địa phương như vậy
import inspect
for c in f.func_code.co_consts:
if inspect.iscode(c):
print c.co_name, c
mà kết quả trong
get <code object get at 0x26e78 ...>
post <code object post at 0x269f8 ...>
nhưng tôi không thể tìm ra cách để có được các đối tượng chức năng thực sự có thể gọi. Điều đó thậm chí có thể?
Cảm ơn sự giúp đỡ của bạn,
Will.
Tôi nên lưu ý rằng đối với trường hợp sử dụng thực tế của tôi, tôi cần có khả năng gọi các hàm cục bộ/lồng nhau như sau: get (request, * args, ** kwargs) –