Python面向对象

本文详细阐述了Python类的构成、属性、构造方法、特殊方法(如__str__、__lt__等)以及面向对象的封装、继承(单继承与多继承)和复写机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础

类由属性(成员变量,类里面定义的变量)和行为(成员方法,也即类里面定义的函数)构成,类中定义方法时一定要传入一个self参数,要在类中定义方法中引用类中定义的变量需要用self.该变量引用
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
如果在类中直接打印

魔术方法

构造方法

为了方便对象属性的赋值,简化代码,采用构造方法,也即__init__()方法,该方法自动执行,创建类对象的时候将传入参数自动传递给__init__方法使用
在这里插入图片描述

__str__字符串方法

写入该方法,返回一个字符串可自行定义返回的内容,因此可以用__str__方法控制类转化为字符串的行为
正常直接打印一个类的结果是对象地址,但其实没什么用,所以可以用str方法输出类内容转化成字符串的结果
在这里插入图片描述

__lt__小于符号比较方法

用于返回类中数据比较的结果
在这里插入图片描述
当写入这个方法,就可以把类做比较了,不仅是小于号,大于号也可以比较,这个方法实际用的时候不需要传other参数,用的时候比就行了,都是封装好的逻辑

在这里插入图片描述

__le__魔术方法

可用于含有等于符号的比较,与__lt__相比只多了一个等于,从小于变成了小于等于
在这里插入图片描述

__eq__魔术方法

可用于是否相等的比较
在这里插入图片描述

面向对象特征

封装

将显示时间中的实物描述为类中的变量方法
在这里插入图片描述
** 私有成员**
同现实世界一样,一些事物具有不公开的属性和行为,在Python类中也有私有成员,对于私有成员只需要在变量和方法前面以__开头即可,如果调用就会报错,但是可以被其它成员使用,即可以被自身调用而无法被用户直接调用
在这里插入图片描述

在这里插入图片描述

调用案例:
在这里插入图片描述

继承

对于一些新版本的更新,不可能重新再全部设计一遍,而是继承上一款内容重新修改一下,对于Python类也是这样,可以新建一个类继承父类,在新建类中修改
在这里插入图片描述
在这里插入图片描述
多继承:
在这里插入图片描述

多继承

一个·类中填入多个父类,如果这个类不需要再写内容,就最后面写一个pass为确保语法没问题
在这里插入图片描述
如果有两个父类中有同名成员,那按照传入子类的参数顺序,先传入的保留
在这里插入图片描述

多继承之复写

复写

子类基础父类的成员后,如果不满意可以在子类中重新定义复写
在这里插入图片描述

在子类中调用父类成员

用super或者父类名 . 成员方法
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值