2020-11-14

第十章面向对象(上)
一、类的定义:
(1)Python使用class关键字来定义类,类名的首字母一般需要大写,其语法格式如下:
在这里插入图片描述
(2)在类中定义实例方法时,以self作为实例方法的第一个参数名字,该参数的名字是可以变化的,具体如下所示:
在这里插入图片描述
二、对象的创建:
1.类对象:类对象是在执行class语句时创建的,在定义类时,还可以定义类属性。
2.实例对象:
(1)实例对象通过调用类对象来创建(就像调用函数一样来调用类对象),每个实例对象继承类对象的属性,实例方法的第一个参数默认为self表示引用实例对象,实例方法中对self的属性赋值才会创建属于实例对象的属性。
(2)如果类中存在相同名称的类属性与实例属性,则通过实例对象只能访问实例属性,还可以通过赋值运算符修改或增加类对象与实例对象的属性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.实例对象:Python中构造方法一般用来为实例属性设置初值或进行其他必要的初始化操作,在创建实例对象时被自动调用和执行。
4.实例对象:析构方法一般用来释放对象占用的资源,在删除对象和收回对象空间时被自动调用和执行。
5.类方法:类方法是类所拥有的方法,通过修饰器@classmethod在类中定义,cls表示类本身,通过它可以访问类的相关属性,但不可以访问实例属性,其语法格式如下:
在这里插入图片描述
6.静态方法:类方法可以通过类名或实例对象名调用,静态方法也可以通过两者调用,@staticmethod为装饰器,参数列表中可以没有参数。静态方法可以访问类属性,但不可以访问实例属性,其语法格式如下:
在这里插入图片描述
三、运算符重载:
1.字符串可以通过“+”运算符实现字符串连接操作,其本质是通过__add__方法重载了运算符“+”。
2.算术运算符重载:定义一个复数类并对其进行算术运算符重载。
3.比较运算符重载:定义一个复数类并对其进行比较运算符重载,定义一个MyComplex类,通过__eq__ ()方法重载==运算符。
4.字符串表示重载:当对象作为print()、str()函数的参数时,该对象会调用重载的__str__()方法。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值