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类、对象、多态、深浅拷贝的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程