Python--模块和包
文章目录
- 1. Python--模块和包
- 1.1 源程序模块结构
- 1.1.1 包
- 1.2 模块
- 1.2.1 模块的定义
- 1.2.2 模块的导入
- 1.2.3 模块导入示例
- 1.2.3.1 导入特定的函数
- 1.2.3.2 使用as给函数起别名
- 1.2.3.3 使用as给模块指定别名
- 1.2.3.4 导入模块中所有的函数
- 1.2.4 模块搜索目录
- 1.2.5 模块导入错误
- 1.2.6 绝对导入和相对导入
- 1.2.7 Python中的包
- 1.2.7.1 Python程序的包结构
- `__init__.py的作用是让一个呈结构化分布(以文件夹形式组织)的代码文件夹变成可以被导入import的软件包。`
- 1.2.7.2 创建包
- 1.2.7.3 使用包
- 1.2.7.3.1 第一种使用包的方式
- 1.2.7.3.2 第二,三种使用包的方式
1. Python–模块和包
1.1 源程序模块结构
Python的程序是由包(package)、模块(module)和函数组成。
模块是处理某一类问题的集合,模块由函数和类组成。包是由一系列模块组成的集合
1.1.1 包
包就是有一个完成特定任务的工具箱,Python提供了许多有用的工具包。
如字符串处理、图形用户接口、Web应用、图形图像处理等。一个程序完整的结构,有如下几部分组成:
1.2 模块
Python提供了强大的模块支持,主要体现为不仅在Python标准库中包含了大量的模块(称为标准模块),
而且还有很多第三方模块,另外开发者自己也可以开发自定义模块。通过这些强大的模块支持,将极大地提高我们的开发效率。
模块的英文是Modules,可以认为是一盒(箱)主题积木,通过它可以拼出某一主题的东西。
这与函数不同,一个函数相当于一块积木,而一个模块中可以包括很多函数,也就是很多积木,所以也可以说模块相当于一盒积木。
1.2.1 模块的定义
1.2.2 模块的导入
使用from…import语句导入模块
1.2.3 模块导入示例
pizza.py
def make_pizza(size, *toppings):"""概述要制作的比萨"""print("\nMaking a " + str(size) + "-inch pizza with the follwing toppings:")for topping in toppings:print("- " + topping)
接下来,我们在pizza.py所在的目录中创建另一个名为making_pizzas.py的文件,这个文件导入刚创建的模块,再调用make_pizza() 两次:
making_pizzas.py
import pizzapizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
1.2.3.1 导入特定的函数
你还可以导入模块中的特定函数,这种导入方法的语法如下:
from module_name import function_name
通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数:
from module_name import function_0, function_1, function_2
对于前面的making_pizzas.py示例,如果只想导入要使用的函数,代码将类似于下面这样:
from pizza import make_pizzamake_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
1.2.3.2 使用as给函数起别名
如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名别 ——函数的另一个名称,类似于外号。要给函数指定这种特殊外号,需要在导入它时这样做。
下面给函数make_pizza() 指定了别名mp() 。这是在import 语句中使用make_pizza as mp 实现的,关键字as 将函数重命名为你提供的别名:
from pizza import make_pizza as mpmp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')
1.2.3.3 使用as给模块指定别名
你还可以给模块指定别名。通过给模块指定简短的别名(如给模块pizza 指定别名p ),让你能够更轻松地调用模块中的函数。相比于pizza.make_pizza() ,p.make_pizza() 更为简洁:
import pizza as pp.make_pizza(16, 'pepperoni')
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
1.2.3.4 导入模块中所有的函数
使用星号(* )运算符可让Python导入模块中的所有函数:
from pizza import *make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
最佳的做法是,要么只导入你需要使用的函数,要么导入整个模块并使用句点表示法。这能让代码更清晰,更容易阅读和理解。
1.2.4 模块搜索目录
代码:
import sysprint(sys.path)
运行结果:
['E:\\PyCharmCode\\courceDesign\\studypPY', 'E:\\PyCharmCode\\courceDesign',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\DLLs',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\lib',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38',
'E:\\PyCharmCode\\courceDesign\\venv', 'E:\\PyCharmCode\\courceDesign\\venv\\lib\\site-packages']
1.2.5 模块导入错误
import abcdef
发生这样的错误时,解析器会提示说无法访问请求的模块,
是因为模块不在搜索路径里,从而导致了路径搜索的失败。
1.2.6 绝对导入和相对导入
1.2.7 Python中的包
1.2.7.1 Python程序的包结构
__init__.py的作用是让一个呈结构化分布(以文件夹形式组织)的代码文件夹变成可以被导入import的软件包。
1.2.7.2 创建包
1.2.7.3 使用包
1.2.7.3.1 第一种使用包的方式
1.2.7.3.2 第二,三种使用包的方式
Python--模块和包相关推荐
- python模块与包的导入
python模块与包的导入 1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包, ...
- 【Python3】Python模块与包的导入
[Python3]Python模块与包的导入 一.模块导入 1. 定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语 ...
- 【Python基础入门系列】第06天:Python 模块和包
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...
- python模块和包_(三)运用Python模块和包
1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...
- python模块及包的导入
python模块及包的导入 模块(module) 本文从代码如诗中学习而来 模块(module) 模块分为标准库(不需要安装).第三方库(需要自己安装的).自定义模块(自己写的) 对于自定义模块 例如 ...
- python模块和包用法详解(__all__)
1. 模块 Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块能定义函数,类和变 ...
- 教你如何解决Python模块导包没有找到的问题
一般情况下,Python模块导入推荐使用从根路径导入的写法,比如Node.js就使用相对路径的方式导入模块 例如 有如下目录 demo_project/module_a/file_a.py [func ...
- python 模块与包
什么是模块? 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能.即一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spa ...
- python模块和包(模块、包、发布模块)
模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也 ...
- 【Python】详解Python模块、包、库
本文目录 1.模块 定义模块 导入模块 调用模块中函数 方法1 模块名.函数名 方法2 from 模块名 import 函数名1.函数名2,.. 方法3 from 模块名 import * 给模块取个 ...
最新文章
- 各种优化算法公式快速回忆优化器-深度学习
- js实现文件切片上传,断点续传
- [解析]多线程加锁Lock调用python2
- DataTable 转 Entity
- 数据结构(五)---栈的链式存储的实现---java版
- nssl1211-好文章【字符串hash,map】
- IPSec L2L ××× 之 Router-to-ASA
- 线段树专辑—— pku 3468 A Simple Problem with Integers
- 合并多个js,css文件的方法 - 在服务端合并和压缩JavaScript和CSS文件
- 面向对象17:抽象类和抽象方法、创建抽象类的匿名子类对象、模板方法设计模式
- 解决C:/WINDOWS/system32/aliedit/a找不到文件的错误提示
- 【刘晓燕长难句分析】1.简单句
- 台式计算机无线上网设置,台式机如何设置无线上网
- 连接重置Connection reset异常
- 心情顿时很失落的感觉!
- 在python中怎么定义一个范围_如何定义范围
- 阿里云视频点播相关代码
- 美团王兴---我在努力成为恒星
- 论文翻译神器:SCITranslate 10.0,一键翻译整篇文献
- 最大公约数和最小公倍数,你知道有几种求法吗?
热门文章
- DxO PhotoLab 2.0完整汉化版|DxO PhotoLab 2.0中文版(WinX64)
- linux指令——刘雯丽
- 编译错误/usr/bin/ld: cannot find -lz
- 基于墨刀的软件界面原型设计----视频软件
- GHOST的口诀:备份122、还原123
- 安卓手机如何投屏到电视上_手机如何投屏到电视上?小屏秒变大屏,追剧更享受!...
- 年轻人的第一个APM-Skywalking
- winrar 去广告_winRAR去广告版软件安装教程
- 微信小程序点击按钮弹出弹窗_微信小程序带图片弹窗简单实现
- uniapp小程序发布过程中,图片跟音频资源超过200K无法上传