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 (

python中的绑定方法和未绑定方法到底是什么。创建对象时它有什么区别

我是python的初学者,我写了这段小代码

   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)