在一个函数内访问一个函数(嵌套函数?)

发布于 2021-01-29 18:05:11

Python noob在这里。如何在“ fib”功能中掌握“内部”功能?

from time import sleep

class Fibonacci(object):

    def __init__(self, a, b, limit=50):
        self.a = a
        self.b = b
        self.limit = limit

    def fib(self):

        while self.a < self.limit:
            c = self.a + self.b
            sleep(1)
            print self.a,
            self.b = self.a
            self.a = c

        def inner(self):
            print 'Damn it! Just print already!'


j = Fibonacci(0,1,2)
j.fib()

## This doesn't work. Gives an "AttibuteError: 'function' object has no attribute 'inner'"
j.fib.inner()
关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您不能,除非以某种方式fib返回,否则不能inner
    inner本质上是范围内的局部变量fib,您不能从外部访问函数的局部变量。(这甚至不会是有意义的,因为该功能正在运行时,除了不存在当地人想想看-
    这将是有意义的访问fibc变量从功能之外吗?)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看