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

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

一、什么是模块?

模块是一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个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同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

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