Можем ли мы получить доступ к внутренней функции за пределами внешней функции в python, используя внешнюю функцию?

Просто ради любопытства я хочу это знать..
Я знаю, что объем внутренней функции ограничен только телом внешней функции, но все же есть ли способ, чтобы мы могли получить доступ к переменной внутренней функции за пределами ее области или вызвать внутреннюю функцию вне ее области?

In [7]: def main():
  ...:     def sub():
  ...:         a=5
  ...:         print a
  ...:         

In [8]: main()

In [9]: main.sub()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/dubizzle/webapps/django/dubizzle/<ipython-input-9-3920726955bd> in <module>()
----> 1 main.sub()

AttributeError: 'function' object has no attribute 'sub'

In [10]: 
5
задан NIlesh Sharma 24 July 2012 в 07:26
поделиться