如何在Python中嵌套方法
这是一个相当基本的问题,然而,我努力在网上找到答案 我知道我们可以嵌套函数,但是我想看看我们是否可以对类中的方法进行嵌套 考虑下面的例子:如何在Python中嵌套方法,python,python-3.x,methods,Python,Python 3.x,Methods,这是一个相当基本的问题,然而,我努力在网上找到答案 我知道我们可以嵌套函数,但是我想看看我们是否可以对类中的方法进行嵌套 考虑下面的例子: class name: def name(self): def name2(self): print("Hello world!") return self.name2() m = name() m.name() 无论何时运行以下代
class name:
def name(self):
def name2(self):
print("Hello world!")
return self.name2()
m = name()
m.name()
无论何时运行以下代码,都会出现此错误:
AttributeError: 'name' object has no attribute 'name2'
如果有人能帮我找到解决方案,我将不胜感激。您的代码毫无意义。name2只是name方法的一个局部变量,是一个正则函数
类名:
def名称自我:
def名称2:
世界你好!
返回名称2
m=名称
m、 名字
好了,行了
Python方法是类对象的函数属性,它们不是特殊的或特别神奇的,但它们肯定不能定义为局部变量
我不知道你想要实现什么,也不知道你对整个事情的思维模式是什么,但我不确定这两者是否有任何意义。我认为你误解了python类的工作方式。如果在方法中定义了独立函数,该函数不会自动成为类的成员 而是定义了一个函数,就像其他函数一样,添加了一个。作用域限制了函数在方法名称中的可见性
我认为您的查询非常有用。如果您只想在name方法中调用self.name2,则不需要嵌套它们。只需创建两个单独的方法,并像这样调用它们这看起来可能是一个,请告诉我们您试图解决的问题,而不是显示您尝试的解决方案。感谢您的回答,我想我有点困惑了。谢谢,它让我更了解它!