类的绑定方法

  我们在定义完类之后,要为定义好的类里添加不同的方法,这些方法分为三种:绑定到对象的方法、绑定到类的方法以及静态方法。

  一、绑定到对象的方法:

  通常情况下,在类中定义的所有没有被装饰器修饰的函数(注意了,这里说的就是所有,跟self啥的没关系,self也只是一个再普通不过的参数而已)都是对象的绑定方法,对象在调用绑定方法时会自动将自己作为参数传递给方法的第一个参数。

  如上图,内置的构造函数__init__与我们新定义的函数run都是绑定到对象的方法,原则上这个方法只能被类实例化后的对象调用:

  但是,如果我们利用类去调用这个run函数也不是不可以:

  我们随意给run一个参数就可以利用类来调用了——可是,根据规则,绑定到对象的方法还是规定只能被对象调用,要是利用类来调用的话别人不会知道你在做什。。。。。。

  二、绑定到类的方法:

  由装饰器@classmethod修饰的方法就是绑定到类的方法了:

  如上图,绑定到类的方法run可以直接由类People来调用。

  还是一样的情况,我们如果强行用类实例化后的对象调用的话也可以执行,但是这样同样会显得“不伦不类”:

  三、静态方法:

  由装饰器@staticmethod修饰的方法就是静态方法了,它是一种普通函数,位于类定义的命名空间中,不会对任何实例类型进行操作。

 

转载于:https://www.cnblogs.com/paulwhw/p/9097955.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,我们可以实现动态绑定方法。动态绑定是指在运行时,对或实例进行修改,添加新的方法或属性。通过动态绑定方法,我们可以在创建一个后,随时为该添加新的方法。 使用Python的装饰器(decorator)语法可以方便地实现方法的动态绑定。装饰器是一种特殊的函数,用于修改其他函数的行为。我们可以定义一个装饰器函数,然后在定义中使用该装饰器来装饰一个方法,从而为该方法实现动态绑定。 以下是一个示例代码,演示了如何使用装饰器实现方法的动态绑定: ```python class MyClass: @classmethod def dynamic_method(cls): print("This is a dynamic class method.") # 添加一个动态绑定方法 def dynamic_binding_method(cls): def new_method(): print("This is a new dynamic method.") cls.new_method = new_method return cls MyClass = dynamic_binding_method(MyClass) # 调用动态绑定方法 MyClass.dynamic_method() # 输出: This is a dynamic class method. MyClass.new_method() # 输出: This is a new dynamic method. ``` 在上述示例中,我们使用装饰器函数`dynamic_binding_method`来为`MyClass`动态绑定了一个新的方法`new_method`。通过调用`MyClass.new_method()`,我们可以看到新方法被成功绑定到了`MyClass`上。 总结来说,Python中可以使用装饰器语法来实现方法的动态绑定。这使得我们可以在运行时为添加新的方法,从而灵活地扩展的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值