python类、对象、多态、深浅拷贝
2021/12/16 22:13:11
本文主要是介绍python类、对象、多态、深浅拷贝,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、视频资源:花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)_哔哩哔哩_bilibili
二、类
(1)、在类之外定义的函数称为函数,在类指之内定义的函数称为方法:
(2)静态方法:静态方法中是不允许写self的,
实例方法:必须有self,实例方法传的是对象
类方法用:@classmethod修饰,需要有cls,类方法传的是这个class,cls在调用的时候不用传入
初始化方法:
2、对象的创建:
对象名.方法名()
类名.方法名(类的对象)---实际上是方法定义处的self
3、类属性、类方法、静态方法
类属性的使用方法:类名.属性方法
4、动态绑定属性和方法
(1)
一个类可以创建很多实例对象,每个实例对象的属性值可以相同也可以不同
(2)动态绑定
创建属性后,才对stu2动态绑定,所以用stu1去调用gender会报错,因为stu1这个属性中没有gender
在init方法中所传的变量是类的所有实例对象都有的属性,动态绑定的属性只适用于被绑定的实例
(3)动态绑定实例方法
写一个show放大定义在类之外,可以使用实例对象去动态绑定这个类之外的方法,没有绑定这个方法的实例stu2不可以使用这个方法,调用报错;stu1可以调用
三、封装、继承、多态
1、封装
(1)加__表示不想在类的外部使用
如果想让不想在类的外部使用的方法,在类的外部使用的方法有:
首先,使用dir()打印出来有哪些方法:发现没有age,但是有_Student__age
(2)访问_Student__age,发现在类的外部可以通过这种方式访问
(3)一般看到两个下划线定义的变量,在类的外部就不要去使用了,虽然也可以使用,但是---不道德
2、继承
多继承:下面的C有a和b两个父类
3、方法重写
4、object类:一个类如果没有继承任何类,那么他默认继承object类
5、多态
人没有继承自动态,但是可以调用eat(),可以在fun()中使用
6、特殊属性
dir()查看类具有的所有属性和方法
7、特殊方法
(1)__init__
对象不能直接相加,可以采用如下方式:
重写__add__方法:
(2)__len__
重写__len__方法,可以输出对象的长度
(3)特殊方法__init__和 __new__
__init__:对对象的属性进行初始化使用
__new__:用于创建对象
上述代码是怎么执行的呢?如下
四、深浅拷贝
1、赋值操作:
2、浅拷贝
cpu1和cpu2指向的子对象是相同的
3、深拷贝:子对象也会被拷贝一份
五、模块
1、什么叫模块
模块中可以包括很多个函数.类(静态方法...).语句
2、自定义模块和模块的导入
eg:
(1)
导入后报错,采用如下方式source一下
(2)
3、以主程序方式运行
4、python中的包
使用import的方式导入时,只能跟包名或者模块名
使用from这种方式可以导入模块名、包名,也可以导入函数名和变量名等
5、python中常用的内容模块
6、第三方模块的安装和使用
eg:
7、编码格式
六、文件操作
1、读取磁盘文件的内容
eg:
2、常用的文件打开模式
eg:
3、文件对象的常用语法
4、with语句
5、os模块常用函数
这篇关于python类、对象、多态、深浅拷贝的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程