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调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(