python学习第五章

1.继承

即是一个派生的类(derived class)继承基类(base class)的字段和方法,继承也允许把一个 派生类的对象作为 一个基类

对象对待。通俗来讲就是方便,继承前人的代码,减少工作量,当然这一切是为实现多态解决解决多继承的尴尬。具体实现如下:

class A:
def __init__(self):
print("the frist number is 1")
def __init__(self):
print("the second number is 2")
class B:
def __init__(self):
print("the three number is 3")
def __init__(self):
print("the four number is 4")
class C(A,B):
def __init__(self):
A.__init__(self)
B.__init__(self)
super(A,self).__init__()
print("C的改造方法")
c=C()

class person:
def __init__(self,name=None,age=None):
self.name=name
self.age=age
def __str___(self):
return "我是{0},今年 {1}".format(self.name,self.age)
def __add__(self, other):
return person(self.name+other.name,self.age+other.age)
def __lt__(self, other):
if self.name==other.name:
return other.age<other.age
else:
return self.name<other.name
# def __cmp__(self, other):
# return self.name
p=person("JXD",20)
p2=person("dongdong",23)
print(p+p2)
print("-----------------")
p3=[person("dongdong",100),person("dong4",123),]
for p in p3:
print(p)
print("------------------")
for p in sorted(p3):
print(p)
2.类中内置的方法
在python中有一些内置的方法,这些方法命名都有着比较特殊的地方(其方法名是以2个下划线开始然后以2个下滑线结束。)
类中最常见的构造方法和析构方法。
构造方法:__int__(self,....)在生成对象时调用,可以用来进行一些初始化的操作,不需要显示去调用,系统会默认去执行。
构造方法支持重载,如果用户没有重新定义构造方法,系统就会自动执行默认的构造方法
析构方法:__del__(self,...)在释放对象时调用,支持重载,可以在里面进行一些释放资源的操作,不需要显示调用。
__str__(self):在使用print语句时被调用
__len__(self): 在调用内联函数len()时被调用
__cmp__(src,dst): 比较俩个数的src和dst时被调用
3.python 调用内部类的两种方法:
Class Car:#外部类
class Whell#内部类
def run(self):
print(‘car run’)
class Door:
def open(self):
print(‘open door’)
if __name__=="__main__":
car=Car()#实例化外部类
backDoor=Car.Door()#实例化内部类 第一种方法
frontDoor=car.Door()#再次实化Car的内部类 第2种方法
backDoor.open()
frontDoor.open()
wheel=car.whell() Whell()再次实例化内部类
whell.run()#调用内部类的方法
原文地址:https://www.cnblogs.com/xiaodong520/p/7563525.html