绑定方法Python
绑定方法是依赖于类的实例作为第一个参数的方法。它将实例作为第一个参数传递,用于访问变量和函数。在Python 3 和更新版本的Python中,类中的所有函数都是默认绑定的方法。
让我们通过一个例子来理解这个概念:
# Python code to demonstrate
# use of bound methods
class A:
def func(self, arg):
self.arg = arg
print("Value of arg = ", arg)
# Creating an instance
obj = A()
# bound method
print(obj.func)
输出:
< bound method A.func of <__main__.A object at 0x7fb81c5a09e8>>
这里,
obj.func(arg) is translated by python as A.func(obj, arg).
实例obj
自动作为第一个参数传递给调用的函数,因此函数的第一个参数将用于访问对象的变量/函数。
让我们看另一个 Bound 方法的例子。
# Python code to demonstrate
# use of bound methods
class Car:
# Car class created
gears = 5
# a class method to change the number of gears
@classmethod
def change_gears(cls, gears):
cls.gears = gears
# instance of class Car created
Car1 = Car()
print("Car1 gears before calling change_gears() = ", Car1.gears)
Car1.change_gears(6)
print("Gears after calling change_gears() = ", Car1.gears)
# bound method
print(Car1.change_gears)
输出:
Car1 gears before calling change_gears() = 5
Gears after calling change_gears() = 6
>
上面的代码是一个类方法的例子。类方法类似于绑定方法,只是实例的类作为参数而不是实例本身传递。在上面的示例中,当我们调用Car1.change_gears(6)
时,“Car”类作为第一个参数传递。