摘要:
概述 Python除了前面的单继承外,还可以支持多继承,但是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性。对经典类和新式类来说,属性的查找顺序是不同的。现在我们分别看一下经典类和新式类两种不同的表现。 类的多继承 新式类VS经典类区别 新 阅读全文
摘要:
背景 前面我们介绍了几种固定参数,传入的参数不管形参为默认还是标准都要一一对应,如果数目不固定怎么办? 参数组 1.非固定位置参数传参(*args) 用法:接收N个位置参数,转换成元组的方式 1.1传入列表 1.2位置参数和非固定位置参数组合 1.3关键字参数和非固定位置参数组合 上面的报错是因为x 阅读全文
摘要:
self关键字 面向对象里面的self是什么? 我们知道面向对象编程就是把函数嵌套了一层类,放在其里面,本质其实就是函数,而self放到了函数的上面,它其实就是个形式参数,而这个形式参数不需要我们给其传值,所以: 实质:self代指的就是调用当前方法的那个对象 解析:country = “中国”属于 阅读全文
摘要:
面向对象知识回顾 1.什么是面向对象编程? 以前使用的是函数 现在面向对象使用的是:类 + 对象 2.什么是类,什么是对象? 你不要把它看作是一个牛逼的东西,我们给它一个简单的定义,它其实就是以前我们学过的函数的集合。 函数式编程:每个模块里面有很多实现各种功能的函数(模块-函数) 面向对象编程:最 阅读全文
摘要:
概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。 继承的过程,就是从一般到特殊的过程。 要 阅读全文
摘要:
定义 在实例销毁的时候调用的函数 语法 作用:例如server端接受很多客户端的连接,当你手动屏蔽你的sever端的时候,这个时候客户端还在正常的连接,如果sever端用类写的,你就可以delete server端的同时,在__del__()写一些东西,说去close掉很多客户端的连接。说白了,析构 阅读全文
摘要:
os 模块 提供了非常丰富的方法用来处理文件和目录。常用的方法如下 1.os.getcwd() 用法:获取当前工作目录,即当前python脚本工作的目录路径 2.os.chdir("dirname") 用法:改变当前脚本工作目录;相当于shell下cd 3.os.curdir 用法:返回当前目录:( 阅读全文
摘要:
概述 首先我们写入文件和读取文件的一般方法: 从上面的例子可以看出,我们在写入文件中的数据,只能是字符串,但是如果要想把内存的数据对象写入到硬盘上怎么办呢?下面就来说说序列化:json & pickle,主要用于不同语言之间的数据交互。 json序列化 1.dumps序列化和loads反序列化 用法 阅读全文
摘要:
概述 前面我们讲了类的私有属性,现在我们来说说类的公有属性,这边很容易被人弄混淆,有人认为,在__init__()构造方法中,除了私有属性,其他的都是公有属性了,其实这是一个错误的结论,并不是定义在__init__()初始化方法中的属性是公有属性(除私有属性),那什么是公有属性呢? 定义:指的是所属 阅读全文
摘要:
概述 前面我们已经讲了一些关于类的知识,我们来回顾一下: 接着,我们继续学习类的特性。 访问类属性 1.成员变量和参数 很多人会问,为什么eat方法里面会传入一个food的参数名呢?而这个为什么不能再其他方法里面用呢?而self.name就可以呢? 因为food它只是作为eat方法的一个参数,不是类 阅读全文