如何从python中的另一个函数调用嵌套函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (88)

我在另一个里面有一个函数,还有一个第三个函数。如何在第三个函数中调用嵌套函数?有什么特别的库可以用吗?我不允许编辑a()或b(),只有c()。

def a():
    def b():
        print("hi")

def c():
    # code only here to call b() to print
提问于
用户回答回答于

这是不可能的,因为Python范围的工作方式,b()是本地的a(),因此在c()中不存在。

用户回答回答于

当你这样做的时候,功能b是在a。这意味着在默认情况下不能在a。解决这一问题的方法主要有两种,但都涉及修改a:

  1. global关键字(不推荐)def a():全局bdef b():print(“hi”)global关键词集b作为一个全局变量,这样就可以正常地从内部调用它来访问它。
  2. 返回函数a把它传给cdef a():def b():print(“hi”)返回bdef c(B):#you codeen,当调用c,你应该通过b对它来说,a会回来的。可以这样做:b=a()c(B),或者只需调用a每次你调用c,因此:c(a()如果选择这样做,则可以定义c因此:def c():b=a()#这里的代码允许简单地调用c因此,正常情况下:c()

扫码关注云+社区

领取腾讯云代金券