python第五章_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

else:

return self.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()#调用内部类的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值