python中的名称错误
我在python程序中遇到以下名称错误,尽管我在使用函数之前声明了它 这是我的节目:python中的名称错误,python,Python,我在python程序中遇到以下名称错误,尽管我在使用函数之前声明了它 这是我的节目: def __init__(self): self.root = None def insert_at(leaf, value): #some code here.... def insert(self,value): #some code here.... insert_at(self.root, value) def main(): #some code h
def __init__(self):
self.root = None
def insert_at(leaf, value):
#some code here....
def insert(self,value):
#some code here....
insert_at(self.root, value)
def main():
#some code here
insert(10)
#some code here
这是我的错误:
File "programs/binary_tree.py", line 38, in insert
insert_at(self.root, value)
NameError: name 'insert_at' is not defined
在问这个问题之前,我确实问了以下问题,但不明白为什么我会出错
和
看起来这些是类中的方法。您需要进行以下更改:
def insert_at(self, leaf, value): # add self
谢谢。这很有帮助。假设我在insert_at()中反复调用insert_at()。。我还应该使用self吗?i、 e,在insert_at()中,我是否应该自己再次调用它。insert_at()或只是insert_at()。我两个都试过了,但都起作用了……我不明白其中的区别。是的,还是用
self
@vaultah:谢谢……没有回答这个问题。。
self.insert_at(self.root, value) # add self