翼度科技»论坛 编程开发 python 查看内容

Python中的常见方法

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
       Python中有三种比较常见的方法类型,如类方法和静态方法,实例方法,他们是面向对象编程中重要的概念。
1.类方法

       类方法是通过使用装饰器@classmethod来定义的,他的第一个参数是cls,指向类本身,允许我们在方法中操作类的属性或调用其他类方法。
       类方法的使用:类方法可以通过类名和实例对象来调用,当类方法被调用时,Python会自动传递类本身作为第一个参数(不能传递实例的属性和方法)。类方法能访问类属性,但是不能访问实例属性。
       类属性修改会同步到未被修改过的实例属性,
  1. class Texts:
  2.     textNum1 = 1
  3.     textNum2 = 1
  4.     @classmethod
  5.     def addnum(cls):
  6.         Texts.textNum1 += 1
  7.         Texts.textNum2 += 1
  8. # 使用两个textNum判断是否只有被修改过的实例属性,不会受到类属性修改的影响
  9. text1 = Texts()
  10. text2 = Texts()
  11. text1.textNum1 += 1
  12. print(text1.textNum1, text2.textNum1)
  13. print(text1.textNum2, text2.textNum2)
  14. # 判断在类属性修改前的实例对象是否会收到影响
  15. Texts.addnum()
  16. Texts.addnum()
  17. Texts.addnum()
  18. text3 = Texts()
  19. print(text1.textNum1, text2.textNum1, text3.textNum1)
  20. print(text1.textNum2, text2.textNum2, text3.textNum2)
复制代码
  1. 2 1
  2. 1 1
  3. 2 4 4
  4. 4 4 4
复制代码
2.实例方法

       实例方法是最常用的方法类型,不需要特定的装饰器,他的第一个参数是self,指向实例本身,允许我们在实例中调用实例属性或方法。
3.静态方法

       静态方法是通过使用装饰器@staticmethod来定义的,参数任意。
       静态方法的使用:静态方法可以通过类名和实例对象来调用,但是方法体中不能使用类或实例的任何属性和方法。
4.总结

       类方法和静态方法都是只属于类的方法,都能使用类名和实例名调用,他们的区别在于,类方法可以操作类的属性和其他类方法,而静态方法不能操作类的属性和其他类方法,只适用于在类中的组织功能性代码。不同于类方法和静态方法,实例方法只能使用实例对象调用,可以操作实例属性和实例方法、类方法、静态方法,但是不能操作类属性。
       通过合理的使用这些方法,可以增强代码的可读性和可维护性。

来源:https://www.cnblogs.com/againss/p/18251832
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具