博客整理day15 模块

python day15

模块的四种形式

  1. 自定义模块:自己写的一系列函数,就称之为自定义模块
  2. 第三方模块:已被编译为共享库或DLL的C或C++扩展
  3. 内置模块:使用C编写并链接到python解释器的内置模块
  4. 包:把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,改文件称之为包)

模块的导入

import 模块名

​ import首次导入模块发生了3件事:

    1. 以模块为准创造一个模块的名称空间
    2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
    3. 在当前执行文件中拿到一个模块名
    4. 

​ 需要注意的是:模块的重复导入会直接饮用之前创造好的结果,不会重复执行模块的文件,即重复导入会发生:spam=spam=模块名称空间的内存地址

from 模块名 import 具体的功能

from.....import....首次导入模块发生了3件事:

  1. 以模块为准创造一个模块的名称空间
  2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
  3. 在当前执行文件的名称空间拿到一个名字,该名字直接指向模块中的某一个名字,意味着可以不用加任何前缀而直接使用
    • 优点:不用加前缀,代码更加精简
    • 缺点:容易与当前执行文件中名称空间中的名字冲突

import 和 from...import的异同

相同点:

1. 两者都会执行模块对应的文件,两者都会产生模块的名称空间
2. 两者调用功能时,需要跑到定义时寻找作用域关系,与调用位置无关

不同点:

​ import需要加前缀;from...import不需要加前缀

循环导入

模块搜索路径的顺序

# 内存 --> 内置 --> 自定义

Python 文件的两种用途

​ python文件总共有两种用途,一种是执行文件;另一种是被当做模块导入。

编写好的一个python文件可以有两种用途:

  1. 脚本,一个文件就是整个程序,用来被执行
  2. 模块,文件中存放着一堆功能,用来被导入使用

猜你喜欢

转载自www.cnblogs.com/samoo/p/11593820.html