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

Pyhton模块和包相关知识总结

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Pyhton模块和包相关知识总结

一、模块

每一个以扩展名 py 结尾额 Python 源代码文件都是一个模块模块名 同样也是一个标识符,需要符合标识符的命名规则在模块中定义的 全局变量、函数、类 都是提供给外接直接使用的工具 模块的两种导入方式

1)import 导入


import 模块名1,模块名2


import 模块名1
import 模块名2

导入之后

  • 通过 模块名. 使用 模块提供的工具——全局变量、函数、类

使用 as 指定模块的别名


import 模块名1 as 模块别名

注意:模块别名应该 符合 大驼峰命名法

2)from…import 导入

  • 如果希望从某一个模块中,导入 部分工具,就可以使用 from … import 的方式
  • import 模块名 是一次性把模块中 所有工具全部导入,并且通过 模块名/别名 访问

# 从模块 导入 某一个工具
from 模块1 import 工具名

导入之后

  •  不需要通过 模块名.
  • 可以直接使用 模块提供的工具——全局变量、函数、类

注意:
如果 两个模块,存在同名的函数,那么后导入模块的函数,会覆盖掉先导入的函数

  • 如果代码冲突,可以使用 as 关键 给其中一个模块起一个别名

from…import * (不推荐使用)


# 从模块 导入 所有工具
from 模块名1 import *

二、模块的搜索顺序

Python 的解释器在 导入模块时,会:

1.搜索 当前目录 指定模块名的文件,如果有就直接导入

2.如果没有,再搜索 系统目录

注意:在给文件起名时,不要和系统的模块文件 重名

Python 中每一个模块都有一个内置属性 __file__ 可以查看模块的 完整路径

三、使模块下方的测试代码在导入时不会执行

  • 在导入文件时,文件中所有没有任何缩进的代码 都会被执行一遍

__name__属性

  • __name__属性 可以做到,测试模块的代码只在测试情况下被运行,而在被导入时不会被执行
  • __name__ 是 Python 的一个内置属性,记录着一个字符串
  • 如果 是被其他文件导入的,__name__就是 模块名
  • 如果是当前执行的程序 __name__是 __main__

示例:


# 导入模块
# 定义全局变量
# 定义类
# 定义函数

# 在代码的最下方
def main():
	# ...
	pass

# 根据 __name__判断是否执行下方代码
if __name__ == '__main__':
	main()

四、包

  • 包是一个 包含多个模块的 特殊目录目录
  • 下有一个 特殊的文件 __init__.py
  • 使用 import 包名 可以一次性导入 包 中所有的模块

__init__.py

  • 要在外界使用 包 中的模块,需要在 __init__.py 中指定 对外界提供的模块列表

# 从 当前目录 导入 模块列表
from . import 模块名
from . import 模块名

例如:

在这里插入图片描述

五、发布模块

制作发布压缩包步骤

1)创建 setup.py

setup.py 的文件


from distutils.core import setup

setup(name="vvcat_package",  # 包名
		version="1.0", # 版本
		description="用来测试",  # 描述信息
		long_description="用来测试如何发布压缩包",  # 完整描述信息
		author="vvcat",  # 作者
		author_email="206647497@qq.com",  #作者邮箱
		url="https://blog.csdn.net/qq_44989881?t=1",  # 主页
		py_modules=["vvcat_package.test1",  
					"vvcat_package.test2"])  # 包中的模块

有关字典参数的详细信息,可以参阅官方网站:

https://docs.python.org/2/distutils/apiref.html

在这里插入图片描述

在这里插入图片描述

先cd到setup.py 所在的目录 ,通过 ls -l 命令 可以看到有以下几个文件

在这里插入图片描述

2)构建模块


python3 setup.py build

在这里插入图片描述

通过 tree命令可以看到当前目录结构
如果没有 tree 命令,可以通过以下操作,安装


sudo apt-get install tree

使用 tree命令 后会看到
使用 python3 setup.py build命令 生成的 build 文件夹中的内容

在这里插入图片描述

3)生成发布压缩包


python3 setup.py sdist

在这里插入图片描述
在这里插入图片描述

六、安装模块

在这里插入图片描述


tar -zxvf 包名-1.0.tar.gz

sudo python3 setup.py install

使用 tar -zxvf vvcat_package-1.0.tar.gz 命令后

在这里插入图片描述

会出现 vvcat_package-1.0文件夹

在这里插入图片描述

vvcat_package-1.0文件夹中的内容

在这里插入图片描述

使用 cat PKG-INFO命令可以查看到 PKG-INFO文件中的内容

在这里插入图片描述

使用 sudo python3 setup.py install命令安装vvcat_package模块

在这里插入图片描述

查看 vvcat_package模块安装后所在的目录,会看到以下几个文件:
vvcat_package vvcat_package-1.0.egg-info

在这里插入图片描述

通过 ipython3 对安装的模块进行测试

在这里插入图片描述
在这里插入图片描述

七、卸载模块

直接从安装目录下,把安装模块的目录 删除就可以


cd /usr/local/lib/python3.6/dist-package/

sudo rm -r vvcat_package*

根据以上两条命令进行如下操作:
先查看模块 安装的目录


# __file__ 用来查看模块所在的目录
vvcat_package.__file__   

在这里插入图片描述

通过 cd 命令 到 dist-packages 目录下

在这里插入图片描述

最后使用 sudo rm -r vvcat_package*命令便可以卸载掉 安装的 vvcat_package模块
以下是删除后只剩下 vvcat_package-1.0.egg-info 文件

在这里插入图片描述

当再次使用 ipython3 调用该模块时,会显示没有该模块。

在这里插入图片描述

八、pip 安装第三方模块

pip 是一个现代的,通用的 Python 包管理工具提供了对 Python 包的查找、下载、安装、卸载等功能

安装和卸载命令如下:


# 将模块安装到 Python 3.x 环境
sudo pip3 install pygame
sudo pip3 uninstall pygame

在 Mac 下安装 iPython


sudo pip install ipython

在 Linux 下安装 iPython


sudo apt install ipython3

到此这篇关于Pyhton模块和包相关知识总结的文章就介绍到这了,更多相关Pyhton模块和包内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

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

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

Pyhton模块和包相关知识总结

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

下载Word文档

猜你喜欢

python 模块相关知识

1,python 文件标准开头:#!/usr/bin/env python3 #-- coding: utf-8 --2,import sys.,sys.args 是一个list,里面包含了命令行数据的list.3,安装Anaconda:在
2023-01-31

MySQL 日志相关知识总结

数据库中用于存储数据的文件称为data file,日志文件称为log file。此外,如果每次读写都是直接访问磁盘,性能很差,所以数据库是有缓存的,数据缓存是data buffer,日志缓存log buffer。 sql执行顺序当我们执行一
2022-05-21

MySQL 锁的相关知识总结

MySQL中的锁锁是为了解决并发环境下资源竞争的手段,其中乐观并发控制,悲观并发控制和多版本并发控制是数据库并发控制主要采用的技术手段(具体可见我之前的文章),而MySQL中的锁就是其中的悲观并发控制。 MySQL中的锁有很多种类,我们可以
2022-05-14

MySQL 慢日志相关知识总结

目录 1.慢日志简介 2.慢日志实战 1.慢日志简介 慢日志全称为慢查询日志(Slow Query Log),主要用来记录在 MySQL 中执行时间超过指定时间的 SQL 语句。通过慢查询日志,可以查找出哪些语句的执行效率低,以便进行
2022-05-22

Java与Mysql锁相关知识总结

这篇文章主要介绍了Java与Mysql锁相关知识总结的相关资料,需要的朋友可以参考下
2023-05-16

云服务器相关知识点总结

云服务器是一种虚拟的、服务器化的服务,可以提供按需使用、按量计费的服务,可以实现弹性扩展、自动负载均衡、快速响应、高可靠性等一系列功能,是许多企业和开发者的重要选择。以下是一些云服务器相关的知识点总结:什么是云服务器:云服务器是一种通用的服务器平台,可以通过互联网连接到服务器的资源,比如虚拟主机、存储设备、数据库等。它可以根据需求动态地扩展和配置服务器资源,为用户提供高性能、高可靠性、安全和
2023-10-26

MySql 存储引擎和索引相关知识总结

存储引擎什么是数据库存储引擎? 数据库引擎是数据库底层软件组件,不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等功能,使用不同的数据库引擎,可以获得特定的功能 如何查看引擎?--如何查看数据库支持的引擎 show engines;
2022-05-11

编程热搜

  • 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动态编译

目录