面向对象高级编程

1.多重继承

1)在python中,一个类可以同时具备多种特性

每种特性可以定义为一个类,通过类中的方法来表达特性,作为他的子类可以继承他的特性,并在此基础上面还具有自己的特性

可以从其他继承类的方法中实现

2)一个子类即可以继承一个类还可以继承另外一个类,这种设计成为Mixin

3)Mixin的功能就是给一个类增加多种功能

2.定制类

在Python中有多个方法来实现python程序的设计

1)__str__()函数给输出的结果返回字符串类型的内容

2)__repr__()函数返回属性的内存地址,但也可以重写__repr__方法让其直接输出

还可以将__str__()函数直接赋值给__repr__函数

3)__iter__()函数返回作用于for in的循环结果与__next__()函数连用,返回一个迭代对象(只能输出列表的单个对象)

4)__getitem__()函数像list那样返回list类型的数据,可以通过切片输出(可以反悔列表的一组数据)

5)__getattr__()函数的作用就是为类中不存在的属性设置默认值

6)__call__()函数就是返回实例本身,当通过打印时,要像函数那样调用,它与函数无两样

7)通过callable()函数判断一个数据时对象还是函数

3.枚举类

1)创建枚举类时先要导入from enum import Enum

2)再创建枚举类格式为类名 = Enum('枚举类对象',('参数1',,....,'参数n'))

4.使用type()函数创建类

先定义函数,再创建类

1)使用type创建类需要传入3个参数

2)第一参数时class名

3)第二个参数时该类的父类,如果只是一个类,要记得tuple的单元素原则,加逗号

4)给类中的方法名绑定函数

5)在每个参数之间逗号隔开

posted @   求知律己  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示