python入门第二十二节模块和包

2024-03-04 15:12

本文主要是介绍python入门第二十二节模块和包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模块和包

  • 模块概念
  • 模块导入
  • 模块搜索路径
  • \_\_name\_\_属性
  • 包的概念
  • 包的作用
  • 包的导入

模块概念

  • 模块是一个包含Python定义和语句的文件,文件名就是模块名后跟文件后缀 .py

模块导入

  • 模块可以被别的程序引入,以使用该模块中定义的变量和函数等功能
  • 习惯上(但不强制要求)把所有 import 语句放在模块的开头
  • 一个模块被另一个程序导入时,会执行该模块
  • 一个模块只会被另一个程序导入一次
模块导入
import 模块1[, 模块2[,… 模块n]]
import 模块1 as 别名1[, 模块2 as 别名2[,… 模块n as 别名n]]
from 模块 import 属性或方法1[, 属性或方法2[,… 属性或方法n]]
from 模块 import 属性或方法1 as 别名1[, 属性或方法2 as 别名2[,… 属性或方法n as 别名n]]
from module import *

注意:请慎用 from module import * ,很容易出现名称重复的情况,导致出现一些意外的问题

模块搜索路径

  • sys 模块的 path 变量包含了 Python 解释器自动查找所需模块的路径的列表
  • 如果这些路径都找不到,则会报错:ModuleNotFoundError: No module named’xxx’
import sysprint(sys.path)  # 会输出当前模块的查找路径,会按结果依次查询

__name__属性

  • 每个模块都有一个__name__属性,当其值是 ‘main’ 时,说明该模块自身在运行,否则说明该模块被导入,其值为模块名
  • 在完成一个模块的编写之前,我们一般会对模块中的功能进行测试,看看各项功能是否正常运行。对于这些测试的代码,我们希望只在直接运行这个py文件的时候执行,而在用其他的程序导入这个模块的时候不要执行。这个时候就可以借助__name__属性来实现
print('在该模块自身运行时会执行')
print('在该模块被导入时也会执行')if __name__ == '__main__':print('在if语句下的程序块仅在该模块自身运行时才执行')
else:print('在else子句下的程序块在该模块自身运行时不会执行')print('但是在被导入时, 会执行')

包的概念

  • Python包实际上就是一个文件夹,只是该文件夹里面一定包含 init.py 模块
  • 和文件夹一样,包里面还可以装其他的包

包的作用

  • 避免相同命名冲突: 如果在同一个包里,是不允许两个模块命名相同的,但是如果不在同一个包里,是可以的
  • 模块分区: 把不同功能的模块归类到不同的包里,方便查询和修改。在比较大型的项目中常常需要编写大量的模块,此时我们可以使用包来对这些模块进行管理

包的导入

包的导入
import 包1[, 包2[,… 包N]]
import 包1as 别名1[, 包2 as 别名2[,… 包N as 别名N]]
from 包 import 模块1[, 模块2[,… 模块N]]
from 包 import 模块1 as 别名1[, 模块2 as 别名2[,… 模块N as 别名N]
from 包.模块import 属性或方法1[, 属性或方法2[,… 属性或方法N]]
from 包.模块 import 属性或方法1 as 别名1[, 属性或方法2 as 别名2[,… 属性或方法N as 别名N]]

这篇关于python入门第二十二节模块和包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773581

相关文章

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

一文教你Python引入其他文件夹下的.py文件

《一文教你Python引入其他文件夹下的.py文件》这篇文章主要为大家详细介绍了如何在Python中引入其他文件夹里的.py文件,并探讨几种常见的实现方式,有需要的小伙伴可以根据需求进行选择... 目录1. 使用sys.path动态添加路径2. 使用相对导入(适用于包结构)3. 使用pythonPATH环境