我正在编写一个python类,并试图从该类中的另一个函数调用一个函数,但是我遇到了错误。NameError: name 'bobfunction' is not defined
。我对类的调用有效,甚至对方法/函数作业的调用也有效。当job
尝试调用bobfunction
时,我收到错误消息。删除对bobfunction
的呼叫即可。那么我该如何从job函数中调用bobfunction?
class stuff():
def __init__(self):
#setup stuff
def bobfunction(self,junk):
print("should work")
return ''
def job(self,data):
bobfunction('test data')
return 'other junk'
答案 0 :(得分:2)
使用self.bobfunction("test data")
Python使用关键字self
来引用同一类的类方法和变量。它与其他语言中的this
关键字相似。 (虽然不一样)。如果最终在__init__
函数中定义了一个变量,则也可以将其与其他函数中的self.variable_name
一起使用。
答案 1 :(得分:0)
您应该尝试使用stuff.bobfunction(自身,“测试数据”)运行它 因为bobfunction位于类的东西中,所以您需要在函数的名称之前写出类的名称。 括号中的自我必须发送自我的名称。