Python四种形式模块的形式与调用

枫铃3年前 (2021-09-30)Python238

一、什么是模块?

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

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

二、模块的四种形式

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

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

三、为什么要用模块

  • 用第三方或者内置的模块是一种拿来主义,可以极大地提升开发效率。
  • 自定义模块,将我们自己程序中用到的公共功能,写入一个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的名称空间指向 importfrom...impot.py(当前导入time模块的文件)  的名称空间中
#Python学习交流QQ群:579817333 

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

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

from…import…首次导入模块发生了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…不需要加

相关文章

Python集合list,tuple,dict,set

Python四中集合list,tuple,dict,set list(有数组越界问题) 创建list࿱...

Python命令行参数解析模块getopt使用实例

这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式、短选项参数实例、长选项参数实例等内容,需要的朋友可以参考下 格式...

Python 实现类似sed命令的字符串替换小程序

Python 实现类似sed命令的字符串替换小程序

背景 sed命令 sed 's/原字符串/新字符串' 单引号中间是s表示替换,原字符串就是要被替换掉的字符串࿰...

python的输入和格式输出

1.定义字符串变量 na...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。