以及模块的四种形式模块的四种形式和模块的调用

以及模块的四种形式模块的四种形式和模块的调用

一、什么是模块?

模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。如果这个py文件的文件名为module.py,模块名则是module

简单来说,模块就是一个py文件, 这个py文件有一大堆函数

二、模块的四种形式

在Python中,总共有以下四种形式的模块:

  1. 自定义模块:如果你自己写一个py文件,在文件内写入一堆函数,则它被称为自定义模块,即使用python编写的.py文件
  2. 第三方模块: 需要自己安装 13万个第三方库 ,无所不能,写库(弄得更简单)
  3. 内置模块:内置模块: python解释器自带的,不需要安装
  4. 包:含有__inti__.py的文件夹,一种特殊的模块(解决了一个问题)

三、为什么要用模块

  1. 用第三方或者内置的模块是一种拿来主义,可以极大地提升开发效率。
  2. 自定义模块,将我们自己程序中用到的公共功能,写入一个python文件,然后程序的各部分组件可以通过导入的方式来引用自定义模块的功能。

四、如何用模块

一般我们使用import和from...import...导入模块。

import 和from import

python看成一个手机,pip是应用管家,time就是应用管家里的一个应用,要用它,import

一、import 模块

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

1、以模块为准创建一个模块的名称空间

2、执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间

3、在当前执行文件中拿到一个模块名

列如:

import time

import 发生的3件事情
1. 在内存中生成一个叫做time的名称空间
2. 运行time.py文件,然后把time.py文件内的名称空间放入time的名称空间内
3. 把time的名称空间指向 import和from...impot.py(当前导入time模块的文件)  的名称空间中

使用import time导入的时候,使用方法只能 time.方法名()  ,不能直接方法名

二、from模块名 import具体的功能

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

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

# spam.py
__all__ = ['money', 'read1']    # 只允许导入'money'和'read1'(写在本文件夹下面)

# run.py
from spam import *    # 导入spam.py内的所有功能,但会受限制于__all__

三、import和from...import...的异同

相同点

​ 1、两者都会执行模块对应的文件,两者都会产生模块的名称空间

​ 2、两者调用功能时,需要跑到定义时寻找作用域空间,与调用位置无关

不同点

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

原文地址:https://www.cnblogs.com/wwbplus/p/11358717.html