我的编程空间,编程开发者的网络收藏夹
学习永远不晚

7 Python的模块和包

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

7 Python的模块和包

概述

        在上一节,我们介绍了Python的异常处理,包括:异常、异常处理、抛出异常、用户自定义异常等内容。在这一节中,我们将介绍Python的模块和包。Python的模块(Module)和包(Package)是Python的两个主要概念,它们都是用来组织和封装代码的机制。

什么是模块

        模块实际上就是一个Python文件,它包含了Python对象定义和Python语句。文件名是模块名加上“.py”后缀,比如:如果一个文件名为my_module.py,那么它就被称为my_module模块。模块让你能够有逻辑地组织你的Python代码段,把相关的代码分配到一个模块里能让你的代码更好用、更易懂。模块能定义函数、类和变量,模块里也能包含可执行的代码。模块可以被别的程序引入,以使用该模块中的函数、类等功能。

        Python中的模块可以分为两种:内置模块和第三方模块。内置模块是Python自带的模块,比如:datetime(日期和时间处理)、math(数学运算)、random(随机数生成)等。第三方模块则是由Python社区或开发者开发的模块,在Python的官方网站上可以找到。

        使用模块的好处有很多,主要包括:提高代码复用性、代码组织结构更加清晰、降低程序耦合性、提高程序的安全性等。

导入模块

        在Python中,可以使用import语句来导入模块,这使得你可以使用其他模块中定义的函数、类和变量。导入模块时,Python会执行该模块中的所有顶层代码。如果模块本身又导入其他模块,那么这些导入的模块也会一并被执行。

# 导入os模块import os# 导入math模块import math# 使用os模块中的变量print(os.curdir)# 使用math模块中的函数print(math.pow(2, 4))

        在上面的示例代码中,os和math都是Python提供的标准库模块。os模块提供了与操作系统交互的函数,math模块则提供了许多与数学计算相关的函数。

        如果你只想导入模块中的特定函数和变量,可以使用from import的语法。如果你想导入模块中的所有内容,可以使用from import *的语法。

# 从math模块导入log10函数from math import log10# 从os模块导入所有内容from os import *# 使用math模块的log10函数print(log10(100))# 使用os模块的cpu_count函数print(cpu_count())

自定义模块

        除了导入系统的内置模块,还可以创建自定义模块,并导入这个自定义模块。比如:你有一个名为my_module.py的Python文件,其中定义了一个名为为my_func的函数。

# my_module.py文件def my_func(a):    print(a)

        你可以在另一个Python文件main.py中导入my_module模块,并使用该模块中的函数。

# main.py文件import my_modulemy_module.my_func('hello CSDN')

__name__

        在Python中,__name__是一个特殊变量,用于表示一个模块的名称。当一个模块被直接运行时,__name__的值为__main__。当该模块被导入为库或者子模块时,__name__的值将是该模块的名称。

        这个变量常用于在模块中执行特定的代码,只有当该模块被直接运行时才执行。在一个模块中,可以使用if __name__ == "__main__"来确保后面的代码只在该模块被直接运行时执行,而在其他模块中被导入时则不执行。比如:有一个模块my_sky,对应的my_sky.py文件如下。

# my_sky.pydef sky_blue():    print('sky blue')if __name__ == '__main__':    sky_blue()

        直接运行my_sky.py时,会执行sky_blue函数并输出“sky blue”。但在另一个脚本中导入my_sky.py时,并不会执行sky_blue函数。这个特性常用于编写可执行脚本或测试脚本,只有在直接运行该脚本时,才会执行某些操作。

什么是包

        包是一个包含多个模块的目录,该目录下必须包含一个名为__init__.py的文件,该文件可以为空。包可以嵌套,即一个包可以包含多个子包。包提供了组织模块的机制,使得模块能够按照目录结构进行分类,便于管理和查找。包将相关的代码文件和资源文件打包在一起,从而形成一个独立的单元。

        Python的包可以包含:Python模块、其他包、包特定的数据文件和配置文件。

创建包

        要创建一个Python包,需要创建一个文件夹,通常以该包的名称命名,并在该文件夹中包含一个__init__.py文件。这个__init__.py文件是一个特殊的文件,当一个包被导入时,该文件会自动执行,这可以用于初始化该包或定义在该包中导出的函数和变量。包中还可以包含其他的.py文件,这些文件中包含函数、类、变量等包的特定代码。

        创建一个Python包的具体步骤如下:

        1、创建一个文件夹,作为包的根目录,并命名为包的名字,包名通常使用小写字母和下划线。

        2、在该文件夹中创建一个名为__init__.py的文件。这个文件是一个特殊的文件,当一个包被导入时,该文件会自动执行。这个文件可以是空的,也可以包含一些初始化代码,或者定义在该包中导出的函数和变量。

        3、在该文件夹中创建其他的Python文件和文件夹,用于包含包的具体代码和资源。

        4、如果需要在包的元数据中使用一些特殊的标记或者依赖项,可以在该文件夹中创建一个名为setup.py的文件,用于描述该包的元数据和依赖项。

        下面是一个简单的示例,展示了如何创建一个包含两个模块的Python包。

        1、创建一个名为my_package的文件夹,作为包的根目录。

        2、在该文件夹中创建两个Python文件,分别为module1.py和module2.py。

        3、在module1.py中定义一个名为func1的函数。

# module1.py文件def func1():      return "Hello from module 1"

        4、在module2.py中定义一个名为func2的函数。

# module2.py文件def func2():      return "Hello from module 2"

        5、在my_package文件夹中创建一个名为__init__.py的文件,用于导出在模块中定义的函数。

# __init__.py文件from .module1 import func1from .module2 import func2

        6、现在,你可以在其他Python代码中使用这个包了。

import my_package# 输出:Hello from module 1print(my_package.func1())# 输出:Hello from module 2print(my_package.func2())

导入包

        要使用一个Python包,需要使用import语句来导入该包,并使用.操作符来访问该包中的函数、类和变量等。比如:有一个名为my_package的包,其中包含一个名为my_module的模块,my_module模块中包含一个名为my_func的函数,可以使用下面的示例代码来使用该包。

import my_package.my_modulemy_package.my_module.my_func()

        在Python中,导入包的具体步骤如下:

        1、确保已经将包安装到你的Python环境中,可以使用pip命令来安装包,比如:pip install package_name。

        2、使用import语句导入包,可以使用点号来指定包的路径。在下面的示例代码中,将导入package包中的module模块。

import package.module

        3、如果只想导入包中的某个模块或函数,可以使用from import语句。在下面的示例代码中,将导入package包中的module模块,并可以直接使用该模块中的函数和变量。

from package import module

        4、如果需要导入包中的多个模块或函数,可以使用逗号分隔它们。在下面的示例代码中,将导入package包中的module1、module2、func1和func2。

from package import module1, module2, func1, func2

        注意:包和模块的名称,必须与文件系统中的目录结构相对应。如果包中没有包含__init__.py文件,则不能将其视为一个包。此时,需要手动将该目录添加到Python的模块搜索路径中才能正常使用。

来源地址:https://blog.csdn.net/hope_wisdom/article/details/132527970

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

7 Python的模块和包

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python之模块和包

1 模块化一般来说,编程语言中,库,包,模块是同一种概念,是代码组织方式 python中只有一种模块对象类型,但是为了模块化组织的便利,提供了一个概念: 包模块(module):指的是python的源代码文件 包(package):指的是模
2023-01-31

Windows下Python包和模块的安

上一章中,介绍了Anaconda的安装,安装好Anaconda后,就默认安装了包管理工具pip。有的人喜欢使用easy_install,但是这需要你先安装easy_install,其实没必要,目前官方推荐使用pip。pip安装包或模块很简单
2023-01-31

详解Python模块化--模块(Modules)和包(Packages)

目录引言Python Modules模块导入模块①导入整个模块②导入模块中的特定函数③导入模块中的所有函数给导入的模块一个别名单独运行模块加速模块加载Python Packages包引用包(Package)中的模块引用包(Package)中
2022-06-02

模块和包

我们经常说模块模块的,究竟什么是模块呢?  一个模块就是包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀  但其实import加载的模块分为四个通用类别:    1.使用Python编写的代码(.py文件)    2.
2023-01-30

Python模块与包

一、模块的定义与使用1.1、模块的定义Python中,模块在物理形式上表现为以.py 结尾的代码文件  一个文件被看作一个独立的模块, 一个模块也可以被看作一个文件; 每个模块都有自己的名称空间。Pyhton允许”导入”其他模块以实现代码重
2023-01-31

python中有哪些包和模块

这篇文章将为大家详细讲解有关python中有哪些包和模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python有哪些常用库python常用的库:1.requesuts;2.scrapy;
2023-06-14

Python 模块与包

一、模块 模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/模块的分类:    1、使用python编写的py文件    2、已被编译位共享库或者DLL或C或者C++的扩展    3、包好一组模块的包 
2023-01-30

python -模块与包

********************************模块与包*****************************一、模块在 Python 中,一个.py文件就称之为一个模块(Module)。•大大提高了代码的可维护性;•编
2023-01-31

Python面向对象之模块和包

模块模块的概念模块是Python程序架构的一个核心概念所有以.py结尾的源文件都是一个模块;模块名也是标识符,需要遵循标识符的命名规则;在模块中定义的全局变量,类,函数,都是直接给外界使用的工具;模块就好比一个工具包,而里面的函数和变量就是
2023-01-31

python3--os模块,模块和包(import... , from..import...)

os模块是与操作系统交互的一个接口使用前需要 import osos.getcwd()获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname")改变当前脚本工作目录;相当于shell下cdos.curdir
2023-01-30

【Python3】Python模块与包

一、模块导入1. 定义Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你
2023-01-31

python中常用到的模块和包名称

1 paramiko  (基于openssh,python封装的ssh)模块python自带用法:import paramiko                                          ssh = paramiko
2023-01-31

Day5-python中的模块与包

1.什么是模块 最常见的场景,一个模块就是包含一组功能的python文件,例如module.py,模块名是module 可以使用import module,四个通用类别: 1、使用python编写的
2023-01-31

Python-模块与包的管理

一.模块1.模块实质上就是一个以.py结尾的文件,可以被其他py文件调用;2.使用模块- 大大提高了代码的可维护性;- 编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用;3.导入模块时,会去python的默认搜索路径中寻找;-
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录