什么是模块?

复习 模块 类 属性 方法 继承

复习 模块 类 属性 方法 继承


复习 模块 类 属性 方法 继承

系统模块:

系统中有个sys模块

根据sys模块的path属性方法,可以获取模块的位置。

import sys

复习 模块 类 属性 方法 继承

当我们导入模块的时候,会从上面目录一次查找。

我们大部分模块都在 /usr/lib64/python2.*/ 目录下能够找到

比如:

os模块

复习 模块 类 属性 方法 继承


string模块

复习 模块 类 属性 方法 继承


也可以自定义python的path(模块目录)

创建目录

复习 模块 类 属性 方法 继承

将目录加入sys.path

复习 模块 类 属性 方法 继承

查看:

复习 模块 类 属性 方法 继承

另外一种方法,修改系统的环境变量:

复习 模块 类 属性 方法 继承

复习 模块 类 属性 方法 继承

执行使环境变量生效:

复习 模块 类 属性 方法 继承

查看:

复习 模块 类 属性 方法 继承

验证:

复习 模块 类 属性 方法 继承



我们自己写的脚本都可以作为模块来使用:

脚本名字一般都和脚本内容联系比较紧密

vim  wc.py

复习 模块 类 属性 方法 继承

 

导入模块wc

复习 模块 类 属性 方法 继承

执行

复习 模块 类 属性 方法 继承


使用模块中的函数:

复习 模块 类 属性 方法 继承


修改 wc.py 文件

复习 模块 类 属性 方法 继承

结果:

复习 模块 类 属性 方法 继承

表示执行这个模块的时候,是在执行wc这个模块。

执行2.py的时候:

复习 模块 类 属性 方法 继承

main变成模块名了

所以,我们改写wc.py

复习 模块 类 属性 方法 继承

表示如果名字是main的话,调用wordCount()函数。


怎么做包?

在目录下创建空文件

复习 模块 类 属性 方法 继承

有这个文件后,包的名字就是目录的名字

使用包的方法:

复习 模块 类 属性 方法 继承

另外一种方法:

复习 模块 类 属性 方法 继承

使用:

复习 模块 类 属性 方法 继承


导入包的 wordCount 方法并执行:

复习 模块 类 属性 方法 继承


导入的时候顺便给函数起个名字:

复习 模块 类 属性 方法 继承


总结:

复习 模块 类 属性 方法 继承


面向对象的介绍

复习 模块 类 属性 方法 继承

类和对象:

复习 模块 类 属性 方法 继承


面向对象的思想:

复习 模块 类 属性 方法 继承


python类的定义

类就是封装

复习 模块 类 属性 方法 继承

如果类的名称是由多个单词组成,类的首字母和其他单词的首字母都是大写


定义一个类:

复习 模块 类 属性 方法 继承


类添加动态方法:

 复习 模块 类 属性 方法 继承

self 表示类的自己,或者类的本身。

复习 模块 类 属性 方法 继承


类的属性

复习 模块 类 属性 方法 继承

对象的创建

复习 模块 类 属性 方法 继承

类的属性

复习 模块 类 属性 方法 继承

复习 模块 类 属性 方法 继承


执行

复习 模块 类 属性 方法 继承

要想调用私有属性,方法如下,这种方法一般在测试的时候使用,正式情况不用:

复习 模块 类 属性 方法 继承

私有属性的用途就是不被外部调用,所以这种方法只用于代码测试。

或者把私有属性写入方法里就可以获取到私有属性的值了:

复习 模块 类 属性 方法 继承


各种调用方法,包含一些内置方法的调用:

复习 模块 类 属性 方法 继承


结果:

复习 模块 类 属性 方法 继承


类的方法:

复习 模块 类 属性 方法 继承



复习 模块 类 属性 方法 继承


私有方法:__talk

复习 模块 类 属性 方法 继承



复习 模块 类 属性 方法 继承


通过类去访问方法:

复习 模块 类 属性 方法 继承

占用的资源很少。


静态方法:

参数里面没有self


复习 模块 类 属性 方法 继承


装饰器

复习 模块 类 属性 方法 继承


python 类的内置方法(内部类):

复习 模块 类 属性 方法 继承

创建一个内部类:

复习 模块 类 属性 方法 继承


内部类的实例化方法:

复习 模块 类 属性 方法 继承

举例:

复习 模块 类 属性 方法 继承


第二种方法调用内部类:

复习 模块 类 属性 方法 继承


魔术方法(内置方法):

我们把这些双下滑下开头和结尾的方法,叫类的内置方法,或者叫魔术方法。

复习 模块 类 属性 方法 继承

创建内置方法:__str__

复习 模块 类 属性 方法 继承


直接这样输出:

复习 模块 类 属性 方法 继承

类直接调用__str__内置方法的值。


构造函数:

__init__ 用于初始化的内部状态

复习 模块 类 属性 方法 继承

通过对象访问和 类访问:

复习 模块 类 属性 方法 继承


初始化函数里面不仅可以放一些属性,还可以放一些方法:

复习 模块 类 属性 方法 继承

析构函数:

用来释放资源的函数

打开链接、socket、文件,都可以通过__del__将其清除。

通常在脚本的最后执行这个方法:

复习 模块 类 属性 方法 继承

在__del__里面把他关掉:

复习 模块 类 属性 方法 继承



python的垃圾回收机制

复习 模块 类 属性 方法 继承


使用:

import gc

复习 模块 类 属性 方法 继承

结果:如果是0的话,表示没有可回收的。

复习 模块 类 属性 方法 继承



类的继承

复习 模块 类 属性 方法 继承


继承最大的好处,代码重用

复习 模块 类 属性 方法 继承

传统格式:

复习 模块 类 属性 方法 继承


复习 模块 类 属性 方法 继承

子类只要这么去写,就能够继承父类,父类的方法,子类一样可以执行。


复习 模块 类 属性 方法 继承


继承父类:super格式

通过super这个函数继承父类

复习 模块 类 属性 方法 继承


查看说明

复习 模块 类 属性 方法 继承


用法:

复习 模块 类 属性 方法 继承

这样继承好后,子类就能使用父类中的共有属性和公有方法了。



多重继承

复习 模块 类 属性 方法 继承

注意第三条:

当父类中出现多个自定义的__init__方法时,多重继承只执行第一个类的__init__方法,其他的不执行。


复习 模块 类 属性 方法 继承





转载于:https://blog.51cto.com/286577399/2046974

相关文章: