在第二级函数中使用“self”

2024-04-25 23:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是,我没有看到我的IDE(PyCharm)识别出自我,并像他识别自我时那样用紫色给它着色。 那么为什么self还在工作呢? 即使我在func1中添加self作为参数,并且在func1的返回中它仍然有效,并且仍然没有将self着色为紫色。 谢谢你

class Test:
    def __init__(self, word):
        self.word = word

    def __str__(self):
        return self.func1()

    def func1(self):
        def func2():
            return self.word
        return func2()


t = Test('Hi i'm printing from 2nd level func with self!')
print(t)

Hi im printing from 2nd level func with self!

Process finished with exit code 0


Tags: fromtestselfreturndefwithhilevel
1条回答
网友
1楼 · 发布于 2024-04-25 23:03:37

PyCharm的IDE是一个非常好的编写工具,但它不是适当支持每一种语言特性所必需的。在这种情况下,Python解释器会正确地执行操作(根据需要)。然而,PyCharm编辑器的显示显然为每个块创建了一个新的、独立的名称空间。它似乎没有跳出当前最内部的块来认识到self是一个参数,而不仅仅是一个泛型的外部变量

相关问题 更多 >