具有嵌套函数的静态作用域

问题描述 投票:0回答:1

考虑嵌套函数:

def a():
    def b():
       def c():

    def d():


def t():

我知道:

  • t 可以调用 a 和 vv
  • a 也可以调用 b 和 d
  • b 可以调用 d、a 和 c
  • d 可以调用 b 和 a
  • c 可以打电话给 b

所以下面的堆栈实现: 自下而上: t a t a d a b c
很好,因为 t 调用 a,a 调用 t 等等。

  • c 可以调用 a(超过 1 级)吗?
  • c 可以调用 t (它没有嵌套在其中)吗?
  • 可以调用c(向内多于1级)吗?
  • c 可以打电话给 d 吗?

动态范围又如何?

找不到任何有关此问题的信息

function dynamic nested static scoping
1个回答
-1
投票

不,不可能,使用 Python 只能调用上面的 1 个方法。

def a(): # a can't call c
    def b():
        def c(): # c can't call a and t, but can call d
    def d():
© www.soinside.com 2019 - 2024. All rights reserved.