【发布时间】:2014-04-19 04:49:43
【问题描述】:
我可以在主函数的同一个函数或子函数中访问python 函数吗?
def main_function():
def sub_function():
main_function() # i need to call main function.can i or not.any solution?
NameError: name 'main_function' 未定义
【问题讨论】:
-
一个普遍的问题,为什么需要一个函数来声明另一个函数?我没有看到这个的应用
-
@lightandlight 这是标准做法。它用于装饰器,python 标准库中充满了它的实例。
-
@lightandlight 一个原因是您可以在内部函数中使用非局部变量,甚至可以通过“闭包”保留对它们的引用。另一个只是用于命名空间,因此该函数不会泄漏出本地命名空间。另一个是如果您希望函数定义本身以某种方式是程序化的。
标签: python function python-2.7 python-3.x