文章目录

  • 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--模块和包相关推荐

  1. python模块与包的导入

    python模块与包的导入 1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包, ...

  2. 【Python3】Python模块与包的导入

    [Python3]Python模块与包的导入 一.模块导入 1. 定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语 ...

  3. 【Python基础入门系列】第06天:Python 模块和包

    在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...

  4. python模块和包_(三)运用Python模块和包

    1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...

  5. python模块及包的导入

    python模块及包的导入 模块(module) 本文从代码如诗中学习而来 模块(module) 模块分为标准库(不需要安装).第三方库(需要自己安装的).自定义模块(自己写的) 对于自定义模块 例如 ...

  6. python模块和包用法详解(__all__)

    1. 模块         Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句.         模块能定义函数,类和变 ...

  7. 教你如何解决Python模块导包没有找到的问题

    一般情况下,Python模块导入推荐使用从根路径导入的写法,比如Node.js就使用相对路径的方式导入模块 例如 有如下目录 demo_project/module_a/file_a.py [func ...

  8. python 模块与包

    什么是模块? 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能.即一个模块就是一个包含了一组功能的python文件,比如spam.py,模块名为spam,可以通过import spa ...

  9. python模块和包(模块、包、发布模块)

    模块和包 目标 模块 包 发布模块 01. 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也 ...

  10. 【Python】详解Python模块、包、库

    本文目录 1.模块 定义模块 导入模块 调用模块中函数 方法1 模块名.函数名 方法2 from 模块名 import 函数名1.函数名2,.. 方法3 from 模块名 import * 给模块取个 ...

最新文章

  1. 各种优化算法公式快速回忆优化器-深度学习
  2. js实现文件切片上传,断点续传
  3. [解析]多线程加锁Lock调用python2
  4. DataTable 转 Entity
  5. 数据结构(五)---栈的链式存储的实现---java版
  6. nssl1211-好文章【字符串hash,map】
  7. IPSec L2L ××× 之 Router-to-ASA
  8. 线段树专辑—— pku 3468 A Simple Problem with Integers
  9. 合并多个js,css文件的方法 - 在服务端合并和压缩JavaScript和CSS文件
  10. 面向对象17:抽象类和抽象方法、创建抽象类的匿名子类对象、模板方法设计模式
  11. 解决C:/WINDOWS/system32/aliedit/a找不到文件的错误提示
  12. 【刘晓燕长难句分析】1.简单句
  13. 台式计算机无线上网设置,台式机如何设置无线上网
  14. 连接重置Connection reset异常
  15. 心情顿时很失落的感觉!
  16. 在python中怎么定义一个范围_如何定义范围
  17. 阿里云视频点播相关代码
  18. 美团王兴---我在努力成为恒星
  19. 论文翻译神器:SCITranslate 10.0,一键翻译整篇文献
  20. 最大公约数和最小公倍数,你知道有几种求法吗?

热门文章

  1. DxO PhotoLab 2.0完整汉化版|DxO PhotoLab 2.0中文版(WinX64)
  2. linux指令——刘雯丽
  3. 编译错误/usr/bin/ld: cannot find -lz
  4. 基于墨刀的软件界面原型设计----视频软件
  5. GHOST的口诀:备份122、还原123
  6. 安卓手机如何投屏到电视上_手机如何投屏到电视上?小屏秒变大屏,追剧更享受!...
  7. 年轻人的第一个APM-Skywalking
  8. winrar 去广告_winRAR去广告版软件安装教程
  9. 微信小程序点击按钮弹出弹窗_微信小程序带图片弹窗简单实现
  10. uniapp小程序发布过程中,图片跟音频资源超过200K无法上传