Python课堂笔记——面向对象

面向对象的世界

代码通常称为类的方法,数据通常称为类的属性,实例化的对象称为实例。

类的定义

class Athlete:

  • 第一部分:class定义类的关键字,“:”表示类内容的开始。
    def init(self, a_name, a_dob=None, a_times=[]):
  • 第二部分:def定义函数的关键字。init方法是一个特殊方法,会在实例化对象时自动调用,在这个方法中对数据进行赋值。self作为类中函数的第一个参数,方便该方法调用该类的其他属性和方法。
  • 第三部分:自定义的属性和方法。

类的使用

  1. 创建对象
    对象名 = 类名(参数)
  2. 调用类的方法和属性
    对象.属性名
    对象.方法名()

类属性

所有对象共享的数据。
定义:在init之上,或者说在类的范围内与方法同等级,变量名=值。
调用:类名.类属性

类方法

所有对象共享的方法。
定义:方法定义时,使用@classmethod标记。
调用
类名.类方法
对象.类方法

私用的属性和方法:在属性和方法名前加两个下划线“__”。

子类

定义:class 子类名(父类名):

  • 情况1:如果子类有新增的属性,在子类的__init__方法中调用父类的__init__。
  • 情况2:如果子类没有新增的属性,子类不需要写__init__方法。
    使用:对象名 = 子类名(参数)
    继承的好处:代码重用,升级功能(重写),新增功能(新的方法)

方法重写

子类方法与父类方法完全相同,子类若重写父类方法,则子类对象调用方法时调用自己类中重新定义的方法。

多继承

定义:class 子类名(父类名A, 父类名B):
注意:避免多个父类有相同的属性或方法名。

你可能感兴趣的:(学习,python,类)