Python3入门与进阶笔记(六):初识类

时间:2022-09-14 18:35:01

Python3入门与进阶笔记(六):初识类

类名建议首字母大写,通常用驼峰规则命名。变量名建议小写,下划线隔开。类最基本的作用是封装。

类的实例化

构造函数:自动执行,可以不写return,此时返回类型是None,不能强制返回其他类型

类变量 VS 实例变量

实例方法:

      实例方法关联的是对象,实例方法通常用来操作实例变量,定义实例方法形参要多写一个self(也可以是别的,建议self),在传参数时不需要给self传值,self代表的是调用它的对象。

       在实例方法中访问实例变量,用self.变量名访问;访问类变量,用类名.变量名,或者self.__class__.变量名。

       在类的外部访问实例变量,可以用对象名.变量名;在类的外部访问类变量,可以用类名.变量名。

类方法:

       类方法关联的是类,类方法通常用来操作类变量,定义加@classmothod,形参要多写一个cls(也可以是别的,建议cls),cls代表的是调用的类,类方法不会被自动调用

       在类方法中访问类变量,用cls.变量名访问;可以用类也可以用对象调用类方法(但是不建议用对象调用类方法,毕竟逻辑不符),在类方法中不可以访问实例变量。

静态方法:

       静态方法定义加@staticmethod,不强制多传一个形参。可以用类也可以用对象调用静态方法,静态方法也可以访问类变量,和类方法没啥太多区别,在静态方法中不可以访问实例变量。不推荐用静态方法,因为静态方法不是很能体现面向对象的特点。

Python3入门与进阶笔记(六):初识类

通过在方法名前加__将方法变为私有的,在外部不可以通过对象名/类名.__方法名访问。python在类外部可以通过对象名.变量名添加实例变量。严格来讲python并没有真正的私有变量,因为可以通过对象名._类名__变量名。

Python3入门与进阶笔记(六):初识类

继承:

       调用父类的方法可以通过super。

https://pan.baidu.com/s/1ebpbzN6YLnUzCGxO9V-MGg