我可以在同一个函数内访问Python函数吗?

0 投票
1 回答
1178 浏览
提问于 2025-04-18 03:21

我可以在主函数同一个函数或子函数里面访问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' is not defined(名字错误:'main_function'这个名字没有定义)

1 个回答

1

你可以这样做,是的。

我看不出你发的代码有什么问题。不过,它实际上不会做任何事情,因为你只能在 main_function 里面调用 sub_function,而现在你只是定义了 sub_function,并没有真正去调用它。如果你遇到了 NameError,尽管你的代码并没有真正执行任何操作,那一定是有其他原因。

如果你这样做,和你之前的做法类似,只是这次在 main_function 里面实际调用了 sub_function

def main_function():
   def sub_function():
       main_function()
   sub_function()

然后你调用 main_function(),你会得到一个 Maximum call stack size exceeded 的错误,因为这是一个无限递归的函数。

撰写回答