3.0 类的内置方法
类的内置方法也叫魔术方法。通常是开头和结尾是带__
双下划
内置方法 | 作用 |
---|---|
srt(self) | 返回字符串 |
init(self) | 构造函数 初始化类的属性或者方法 当实例化对象时会自动执行init |
del(self) | 析构函数 释放资源 |
srt(self)
1 | #!/usr/bin/python |
init(self)
1 | #!/usr/bin/python |
可以让init传递参数1
2
3
4
5
6
7
8
9
10
11
12#!/usr/bin/python
# coding:utf-8
class C1(object):
def __init__(self,a ='默认参数'): ##a是默认参数
self.color = a
kun = C1()
print kun.color
tom = C1('实际参数') ##通过实例化对象传实参
print tom.color
del(self)
1 | #!/usr/bin/python |
Python采用垃圾回收机制来清理不再使用的对象;python提供gc模块释放不再使用的对象。
Python采用”引用计数”的算法方式来处理回收,即:当某个对象在其作用域内不再被其他对象引用的时候,python就自动清除对象;
gc模块的collect()可以一次性收集所有待处理的对象(gc.collect)
3.1/3.2 类的继承
继承是面向对象的重要特性之一;
继承关系:继承是相对两个类而言的父子关系,子类继承了父类的所有公有属性和方法
继承可以重用已经存在的数据和行为,减少代码的重复编写。Python在类名后使用一对括号来表示继承关系,括号中的类即为父类。
语法格式
1 | class 子类名(父类名): |
脚本形式
1 | #!/usr/bin/python |
父类定义了init方法,子类必须显式调用父类的init方法
语法格式
1 | class 子类名(父类名): |
脚本形式
1 | #!/usr/bin/python |
也可以使用super函数来继承父类中的init内置函数
语法格式
1 | class 子类名(父类名): |
脚本形式
1 | #!/usr/bin/python |
多重继承
Python支持多重继承,即一个类可以继承多个父类;
语法格式
1 | class 子类名(父类名1,父类名2,...): |
注意
当父类中出现多个自定义的init方法时,多重继承只执行第一个类的init方法,其他不执行。
1 | #!/usr/bin/python |