python中的绑定和未绑定方法是什么
python中的绑定方法和未绑定方法到底是什么。创建对象时它有什么区别 我是python的初学者,我写了这段小代码python中的绑定和未绑定方法是什么,python,Python,python中的绑定方法和未绑定方法到底是什么。创建对象时它有什么区别 我是python的初学者,我写了这段小代码 class newclass: def function1(self,var2): self.var2=var2 print var2 self.fun_var=var2 newobject = newclass newobject.function1(64) 我犯了这样的错误 Traceback (
class newclass:
def function1(self,var2):
self.var2=var2
print var2
self.fun_var=var2
newobject = newclass
newobject.function1(64)
我犯了这样的错误
Traceback (most recent call last):
File "basic_class.py", line 8, in <module>
newobject.function1(64)
TypeError: unbound method function1() must be called with newclass instance as first argument (got int instance instead)
回溯(最近一次呼叫最后一次):
文件“basic_class.py”,第8行,在
newobject.function1(64)
TypeError:必须使用newclass实例作为第一个参数调用未绑定的方法function1()(改为使用int实例)
python中的绑定方法和未绑定方法是什么python中正确的对象初始化是:
newobject = newclass() # Note the parens
绑定方法是一种实例方法,即,它适用于对象
。未绑定的方法是一个简单的函数,可以在没有对象上下文的情况下调用。有关详细讨论,请参阅
请注意,在Python 3中,取消了未绑定方法的概念。Python中正确的对象初始化是:
newobject = newclass() # Note the parens
绑定方法是一种实例方法,即,它适用于对象
。未绑定的方法是一个简单的函数,可以在没有对象上下文的情况下调用。有关详细讨论,请参阅
请注意,在Python 3中,未绑定方法的概念被删除。在您的例子中,您应该首先创建
newclass
的实例,然后调用function1
class newclass:
def function1(self,var2):
self.var2=var2
print var2
self.fun_var=var2
newobject = newclass
newobject().function1(64)
在您的情况下,应该首先创建
newclass
的实例,然后调用function1
class newclass:
def function1(self,var2):
self.var2=var2
print var2
self.fun_var=var2
newobject = newclass
newobject().function1(64)