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.namep=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()#调用内部类的方法
时间: 2024-10-19 02:36:26

python学习第五章的相关文章

python学习第五天 - for...in...循环

for..in语句是另一个循环语句,它迭代一个对象的序列,例如经历序列中的第一项.在后面的章节,我们将会看到更多关于序列的细节.现在,你需要知道的是一个序列只是一个有序的项目的集合. 例如 (保存为 for.py): for i in range(1,5): print(i) else: print('for循环结束') >>> ================================ RESTART ================================ >&g

swift学习第五章-字典的使用

//下面是关于字典的 //字典的格式[key:value] //字典可以存放基本类型和对象类型的 //声明一个字典 var dictionary1=["key1":"鸭鸭","key2":"肉包"] var keyValueCount=dictionary1.count//获取这个字典里面键值对的个数 dictionary1["key1"]="鸡鸡"//改变对应健的值 //updateV

python学习(五)

第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45)         // 可以用逗号隔开多个表达式,中间会有空格age 43 45 5.1.2 把某事件作为另外事件的导入 import somemodule from somemodule improt aaa, bbb, ccc from somemodule import * 如果两个模块有同名函数怎么办? 第一种方法可以用模块引用: mod

统计学习第五章

统计学习方法第五章 决策树的剪枝 决策树的剪枝方法是用极小化损失函数来计算的 对于此题的解释是C(T)是模型对于训练数据的预测误差,|T|表示模型的复杂程度(在前面讲树T的叶节点的个数为|T|) 是先决定呢还是模型先决定呢?由下面的话 可知先决定,是自己输入的,(由下面的算法可以知道)他的值的大小是怎样确定的呢?值的不同是会影响算法的预测正确率的,有没有专门的算法对其进行分析呢由哪些因素决定呢 CART算法(分类与回归树 classification and regression tree) C

Java基础知识二次学习--第五章 数组

第五章 数组 时间:2017年4月26日15:11:30~2017年4月26日15:15:54 章节:05章_01节  视频长度:09:30 内容:一维数组的内存分析 心得: Java中数组是引用类型 栈里面存的数组的引用 实际对象在堆内存里面 (C与C++是分配在栈里的) 内存图: 元素为引用数据类型的数组 引用类型的数组如上图 时间:2017年4月26日15:16:22~2017年4月26日15:19:00 章节:05章_02节  视频长度:05:25 内容:数组元素的创建与使用 心得: 首

python爬虫学习第五章正则

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

流畅的python第十五章上下文管理器和else块学习记录

with 语句和上下文管理器for.while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文.这么做能避免错误并减少样板代码,因此 API 更安全,而且更易于使用.除了自动关闭文件之外,with 块还有很多用途 else 子句不仅能在 if 语句中使用,还能在 for.while 和 try 语句中使用 for 仅当 for 循环运行完毕时(即 for 循环没有被 break 语句中止)才运行 else 块.while 仅

进击的Python【第五章】:Python的高级应用(二)常用模块

Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigParser模块 shelve模块 xml处理 re正则表达式 一.Python模块的定义 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include<math.h>"引入math.h这个头文件,否则是无法正常进行调用的.那么在Python中,如

python学习笔记(五):装饰器、生成器、内置函数、json

这周学习了装饰器和生成器,写下博客,记录一下装饰器和生成器相关的内容. 一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里面每个函数都加一个功能,用来统计每个函数的运行时间是多少,找出来运行比较慢的函数,来优化代码,就需要添加一个新的功能,来统计程序的运行时间,那这样的话,就得修改每个函数了,需要改代码,但是代码特别多,改完了公司倒闭了,这时候装饰