我熟悉c / c ++和python的新手,我想知道python中嵌套函数的需求是什么。任何人都可以给我们使用嵌套函数的实例。提前谢谢。
答案 0 :(得分:4)
您的问题过于宽泛,因此可能会被关闭,但有两个例子是Decorators和Closures。
答案 1 :(得分:3)
当你想使用辅助函数(并且你不想提供参数)时,特别是对于线程:
import Tkinter as tk
import thread
def main():
root = tk.Tk()
progress_var = tk.StringVar(root)
progress_var.set('')
progress = tk.Label(root, textvariable = progress_var)
progress.pack()
def thread_helper(): # this can access the local variables in main()
total = 10000000
for i in xrange(1, total + 1):
progress_var.set('Progress: {}%'.format(100 * float(i)/total))
thread.start_new_thread(thread_helper, ())
root.mainloop()
这基本上是在窗口中显示for
循环的进度。在root.mainloop()
之后,没有进程会运行,因此我需要使用一个线程来实际启动for
循环,并更新进度显示。
该线程需要调用一个函数,并且更容易定义一个辅助函数(嵌套并只使用一次),而不是创建一个新函数并将其传递给各种参数。