gpt4 book ai didi

python - 一个函数如何调用同一个类中的另一个函数?如何修复 Unresolved 引用错误?

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:17 29 4
gpt4 key购买 nike

我想创建一个包含两个函数的类,其中一个函数调用另一个函数,例如:

class Parser:

def foo(a):
return a

def bar(b):
return foo(b * 2)

这个错误是:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 6, in bar
NameError: name 'foo' is not defined

最佳答案

您要么忘记将 self 作为参数之一,要么忘记使用 @staticmethod 将方法设置为静态。

如果您希望方法成为实例方法,请使用 self:

class Parser:

def __init__(self):
pass

def foo(self, a):
return a

def bar(self, a):
return self.bar(a)

然后您必须在该实例上创建解析器和调用栏的实例,例如:

parser = Parser()
print(parser.bar('test'))

如果您希望方法是静态的,您需要将静态方法的类更改为以下内容:

class Parser:
@staticmethod
def foo(a):
return a

@staticmethod
def bar(a):
return Parser.foo(a)

这将允许您在没有实例的情况下调用函数。

print(Parser.bar('test'))

关于python - 一个函数如何调用同一个类中的另一个函数?如何修复 Unresolved 引用错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47306075/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com