美文网首页
01.07 笔记 - 模块

01.07 笔记 - 模块

作者: xxxQinli | 来源:发表于2019-01-07 18:10 被阅读0次

    1.什么是模块

    • 在python中一个py文件就是一个模块,模块也有封装效果

    a.系统模块(标准库) - python系统提供的模块(安装解析器的时候已经导入到解释器中了,使用的时候在代码中直接导入)

    random模块 - 提供随机数

    math模块 - 提供数学运算

    json库 - 提供json数据相关操作

    re模块 - 提供正则表达式相关操作

    socket模块 - 提供python套接字编程(网络通信)

    time模块 - 提供和时间相关的操作

    threading模块 - 提供和线程相关的操作

    ...

    b.自定义模块 - 程序员自己写的模块(py文件)

    自己写的模块

    别人写的模块 - 第三方库(要自行下载)

    标准库和第三方库一般是通过模块提供变量、函数、类

    2. 怎么使用模块

    • import 模块名 -> 在程序中直接导入指定的模块,导入后可以使用模块中所有的全局变量(包含了变量、函数和类)

    导入后通过"模块名.变量"来使用模块中的内容,可以避免和自己的内容产生歧义

    • from 模块名 import 变量1, 变量2, -> 在程序中导入指定的模块,导入后只能使用import 后面的变量

    导入后直接使用变量,不用在前面加'模块名.'。

    • from 模块名 import * -> 使用*号导入所有的全局变量

    重点 - 导入模块的本质,实质会进入模块里执行一遍所有的代码,当import或from import 模块时,会执行模块中的代码,在哪个地方写的import就在哪里执行

    • 若一个模块导入多次,只会导入一次,不会重复导入,不会重复执行代码,会检查是否已经导入(import与from import)

    4. 怎么阻止模块中的内容被其他模块执行

    • 在module中,写入if __name__ == '__main__'里面的代码不会被import执行

    • 一般函数声明会放在if的外面,其他放在if里面

    • 不希望被其他模块执行的代码放在if语句中,如果希望被其他模块使用的代码就放在if语句的外面

    原理:

    每一个模块都有一个__name__属性,所有的py文件都有这个属性,代表当前模块的模块名,默认情况下它的值是py文件名。

    当当前模块正在被执行的时候(直接执行的时候)的时候,模块实现__name__会变成‘__main__'

    5. 导入模块的时候,可以对导入的模块或模块中的内容重命名

    对模块重命名 import 模块名 as 新模块名

    对模块中的内容命名 from 模块名 import 内容名 as 新内容名

    *通配符不能重新命名

    相关文章

      网友评论

          本文标题:01.07 笔记 - 模块

          本文链接:https://www.haomeiwen.com/subject/amhprqtx.html