042_wz_hm_模块

作者: 王泽0106 | 来源:发表于2020-08-16 20:52 被阅读0次

模块的概念

模块是python程序架构的一个核心概念

  • 每一个以扩展名py结尾的python源代码文件都是一个模块
  • 模块名同样也是一个标识符,需要符合标识符的命名规则
  • 在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具
  • 模块就好比是工具包,要想使用这个工具包中的工具,就需要先导入这个模块

模块导入的两种方式

import导入

import 模块名1, 模块名2

注意:在导入模块时,每个导入应该独占一行

import 模块名1
import 模块名2

导入之后,通过模块名.使用模块提供的工具——全局变量、函数、类

测试模块1 测试模块2 导入模块 使用as指定模块的别名:如果模块的名字太长,可以使用as指定模块的名称,以方便在代码中的使用
语法:
import 模块名 as 模块别名

注意:模块别名应符合大驼峰命名法(忘记可以去看009节)

as指定模块别名

from...import导入

  • 如果希望从某一个模块中,导入部分工具,就可以使用from...import的方式
  • import 模块名一次性把模块中所有工具全部导入,并且通过模块名/别名访问
    语法:
# 从模块导入某一个工具
from 模块名 import 工具名

导入之后,不需要通过模块名.,可以直接使用模块提供的工具——全局变量、函数、类

from...import导入模块 注意:如果两个模块,存在同名的函数,那么后导入模块的函数会覆盖掉先导入的函数
  • 开发时import代码应该统一写在代码的顶部,更容易及时发现冲突
  • 一旦发现冲突,可以使用as关键字给其中一个工具起一个别名 别名防止覆盖

from...import *(了解)

语法:

# 从模块中导入所有工具
from 模块名 import *

注意:这种方式不推荐使用,因为函数重名并没有任何的提示,出现问题不好排查

导入全部

模块的搜索顺序(了解)

python的解释器在导入模块时,会:

  1. 搜索当前目录指定模块名的文件,如果有就直接导入
  2. 如果没有,再搜索系统目录
    注意:在开发时,给文件起名不要和系统的模块文件重名
    python中每一个模块都有一个内置属性__file__可以查看模块的完整路径 模块搜索顺序 注意:如果目录下,存在一个random.py的文件,程序就无法正常执行了,这个时候python解释器会加载当前目录下的random.py,而不会加载系统random模块

原则——每一个文件都应该是可以被导入的

  • 一个独立的python文件就是一个模块
  • 在导入文件时,文件中所有没有任何缩进的代码都会被执行一遍

实际开发场景

  • 在实际开发中,每一个模块都是独立开发的,大多都有专人负责
  • 开发人员通常会在模块下方增加一些测试代码,仅在模块内部使用,而被导入到其他文件中不需要执行

__ name__属性

  • __name__属性可以做到测试模块的代码只在测试情况下被运行,而在被导入时不会执行
  • __name__时python的一个内置属性,记录着一个字符串
  • 如果是被其他文件导入的__name__记录的就是模块名
  • 如果是当前执行的程序__name__记录的就是__main__ __name__模块 __name__导入测试模块 在很多python文件中都会看到以下格式的代码:
# 导入模块
# 定义全局变量
# 定义类
# 定义函数

# 在代码最下方
def main():
  pass

# 根据__name__判断是否执行以下代码
if __name__ == "__main__":
  main()

2020.8.16

相关文章

  • 042_wz_hm_模块

    模块的概念 模块是python程序架构的一个核心概念 每一个以扩展名py结尾的python源代码文件都是一个模块 ...

  • python常用模块!!

    os模块: stat模块: sys模块: hashlib,md5模块: random模块: types模块: at...

  • 2018-08-19

    Angular 2 技能图谱 模块 自定义模块 根模块 特性模块 共享模块 核心模块 内置模块 Applicati...

  • 【时间管理100讲】精髓全在这里啦

    理论模块 精力管理。 行动管理。 学习模块。 高空模块。 反思模块。 运动模块。 阅读模块。 旅行模块。 人际关系...

  • python基础学习(三)

    常用模块 String模块 数学模块 随机模块 OS模块 os.path模块 re模块 常用函数及操作 列表操作 ...

  • day10-异常处理和pygame显示

    一、异常处理 1.模块 导入模块(自定义模块,第三方模块)import 模块 ---->模块.内容from 模块 ...

  • 重点知识复习(异常处理)

    1.模块 导入模块(自定义模块,第三方模块,系统其他模块)import 模块 ----> 模块.内容from 模...

  • Python常用模块

    Python常用模块之time模块 Python常用模块之os模块 Python常用模块之sys模块 Python...

  • nodejs-模块

    nodejs模块 一、nodejs模块分类 1.核心模块 Core Module、内置模块、原生模块 fs模块 p...

  • Python不同网络模块网页源代码的获取

    requests模块 或者使用 selenium模块 BeautifulSoup模块 urllib模块

网友评论

    本文标题:042_wz_hm_模块

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