gpt4 book ai didi

python - 在同一个类中定义之前使用另一个方法中的方法?

转载 作者:行者123 更新时间:2023-12-04 17:00:55 25 4
gpt4 key购买 nike

此代码有效:

def funct_a():
funct_b()
print("this is func a")

def funct_b():
print("this is funct_b")

funct_a()
但这不行,为什么呢?
class funct():
def funct_a(self):
funct_b()
print("this is func a")
def funct_b(self):
print("this is funct b")
x = funct()
x.funct_a()
错误:
NameError: name 'funct_b' is not defined
为什么一个有效而另一个无效?如果我在另一个函数中使用未定义的函数,它可以完美运行,但是如果我在另一个方法中使用未定义的方法,它会给我命名错误,为什么?

最佳答案

为什么第一个代码有效?
因为在调用funct_a()的时候,funct_b已经被定义了
为什么第二个代码没有?
因为通过使用 funct_b()解释器搜索在类范围之外定义的函数,而不是 funct类方法。使用 self.funct_b()附言不要发布屏幕截图,而是粘贴代码

关于python - 在同一个类中定义之前使用另一个方法中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69534302/

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