20_Python的包和模块

news2024/11/15 12:06:21

在这里插入图片描述

包和模块

在Python中,包和模块是用来组织代码的一种方式。它们可以帮助开发者管理代码结构,使得代码更易于维护和复用。

  • 内置的包和模块
  • 第三方包和模块
  • 自定义包和模块

模块(Module)

模块是包含Python定义和语句的文件。一个模块就是一个单独的Python文件,通常以.py作为扩展名。你可以将一些相关的函数、类等放在同一个模块里,以便于管理和使用。例如,Python标准库中的math模块就包含了与数学运算相关的函数。

包(Package)

包是一个包含多个相关模块的目录。它允许你在Python项目中创建子目录来包含相关的模块文件。这样可以更好地组织你的代码,避免命名冲突。包本身也是一个特殊的模块,它至少包含一个名为__init__.py的文件,这个文件告诉Python解释器该目录应该被视为一个包。

  • 可以理解为一个文件夹,里面包含 .py 文件
    • 至少包含一个名为 __init__.py 的文件

创建包和模块

创建一个简单的包,你需要创建一个目录,并且在这个目录里面至少包含一个__init__.py文件(可以为空),以及你想要包含在这个包里的模块文件。

使用模块和包

要使用一个模块,你需要导入它。有几种不同的导入方式:

导入整个模块

import my_module
# 导入整个模块后,对模块中函数的调用
my_module.my_sub(5,3)

从模块导入特定的对象:

from my_module import my_add
my_add(1, 2, 3, 4)

导入模块的所有内容

  • 不推荐,因为可能导致命名冲突
from my_module import *
my_add1(1, 2, 3, 4)

导入包中的模块

如果模块位于包内,那么需要根据包的层次结构来导入。

from my_pkg import my_module01
my_module01.my_add1(1,2,3,4,5,6)
# 使用别名
import my_pkg.my_module01 as my_m
my_m.my_add(1,2,3)
from my_pkg.my_module01 import my_add2 as ad
my_add2(1,2)
ad(1,2,3)

包和模块的下载

  • pip 管理工具
  • conda 管理工具

pip 管理工具

使用pip安装Python包的基本步骤:

  1. 打开终端(在Windows上可能是命令提示符或PowerShell,在Mac或Linux上可能是终端模拟器)。
  2. 输入以下命令来安装所需的包:
pip install 包名
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

使用pip卸载Python包步骤一样,命令:

pip uninstall 包名

例如:安装一个非常流行的科学计算库NumPy

pip install numpy

由于网络原因,有时直接使用pip可能会比较慢,可以考虑使用国内镜像来加速安装过程。例如,使用清华大学的镜像:

pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple 包名

请注意,在使用pip之前,确保你已经安装了它。如果尚未安装,可以参考Python的官方文档来进行安装。

conda 管理工具

使用conda安装Python包的基本步骤:

  1. 打开终端(在Windows上可能是命令提示符或PowerShell,在Mac或Linux上可能是终端模拟器)。
  2. 输入以下命令来安装所需的包:
conda install 包名

使用conda卸载Python包步骤一样,命令:

conda uninstall 包名

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89835006

如有问题请留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2185341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GO网络编程(一):基础知识

1. 网络编程的基础概念 TCP/IP 协议栈 TCP/IP 是互联网通信的核心协议栈,分为以下四个层次: 应用层(Application Layer):为应用程序提供网络服务的协议,比如 HTTP、FTP、SMTP 等。传输层(Tra…

颠覆声音转换!Seed-VC零样本模仿技术揭秘

颠覆声音转换!Seed-VC零样本模仿技术揭秘 Seed-VC是一款炫酷的AI声音转换工具🎤,能瞬间模仿明星和角色的声音✨!它具备“零样本”学习能力,且支持变速,轻松带来自然流畅的音效🎶。绝对是声音创…

提升银行CRM系统安全性,实践指南

Zoho 银行CRM系统安全措施包括访问控制、数据加密、安全审计、防火墙、物理安全、应急响应和用户教育。这些措施保护客户信息和银行运营安全,需持续更新以应对安全挑战。 1、系统访问控制 系统访问控制是保障银行CRM系统安全的首要步骤。银行需要确保只有授权的用户…

fiddler抓包15_AutoResponder自动重定向 - 篡改响应

课程大纲 ① 抓取请求,保存response到本地 双击列表请求项查看详情 - 响应区“文本查看”,点击“用笔记本打开”,另存文件。 ② 修改保存的response文件 ③ 开启自动重定向,配置规则 拖拽录制的请求到右侧,选择本地已修…

Mysql 索引底层数据结构和算法

索引数据结构 索引(index)是帮助MySQL高效获取数据的一种有序数据结构。索引是存储到表空间中,当我们的 sql 中的where条件用到索引的时候,会在存储层就过滤出数据来,如果不走索引,则需要在server层过滤。 …

【YOLO目标检测电梯间电动车与人数据集】共4321张、已标注txt格式、有训练好的yolov5的模型

目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:4321 标注数量(txt文件个数):4321 标注类别数:2 标注类别名称:person、electricBicycle 数据集下载:电梯间电动车与人数据集 图片示例 数据…

大厂进阶之CSS死磕牢记的7大知识点

本文主要讨论7大CSS知识点,个个都是金刚附体,干货满满: 1、移动端样式适配 2、回流和重绘 3、flex布局 4、BFC 5、CSS垂直居中方法 6、CSS两栏、三栏自适应布局 7、CSS单行、多行文本溢出省略号格式 一、如何做到移动端样式适配 1、媒体查询…

Python 从入门到实战32(数据库MySQL)

我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。 上篇文章我们讨论了数据库编程接口操作的相关知识。今天我们将学习…

Java Servlet 详解

Java Servlet 是 Java 企业级应用 中的一个核心组件,特别是在 Web 应用开发中,它为服务器端处理请求提供了基础。每次用户发出请求时,Servlet 都会动态生成响应,这在构建复杂、交互式的 Web 应用时尤为重要。 什么是 Servlet&am…

快餐时代读快书,十分钟左右就能读懂一本书

在这个快节奏的时代,时间似乎永远不够用。我们忙于工作、学习,往往连一本书都难以静下心来读完。不过,现在有了一个超级高效的读书网站,能让你在十分钟左右读懂一本书的精华,真是太棒了! 发现高效阅读的网…

Java的学习(语法相关)

字符串存储的问题 char 和字符串都是字符的集合,它们之间的确有相似性,但在 Java 中它们有着不同的存储机制和处理方式。让我从 char 和 String 的本质区别入手来解释。 1. char 和 String 的区别 char 是基本类型:char 是 Java 中的基本数据…

Linux高级编程_27_系统调用

文章目录 系统调用函数分类系统编程概述系统调用概述**类UNIX系统的软件层次** 用户态和内核态系统调用与库函数的关系文件操作符概述文件磁盘权限 系统调用之文件操作open:打开文件close:关闭文件write:写入read:读取 文件状态fcntl 函数stat 函数 st_mode的值示例 1&#xff…

光通信——FTTx

目录 FTTH模式 FTTO模式 FTTR模式 FTTB/CLAN/xDSL模式 FTTCabxDSL模式 根据接入光纤到用户的距离分类,PON可应用于光纤到交接箱(FTTCab)、光纤到大楼/路边(FTTB/C)、光纤到办公室(FTTO&#xff0…

鸿蒙harmonyos next flutter混合开发之开发package

​​​​​​ 创建 package flutter create --templatepackage mypackage package代码如下: 创建hello_world.dart ///HelloWorld返回hello world 拼接param class HelloWorld {String helloWorld(String param) > "hello world ${param}"…

[Linux] Linux 的进程如何调度——Linux的 O(1)进程调度算法

标题:[Linux] Linux 的进程如何调度——优先级与进程调度 个人主页水墨不写bug 目录 一、前言 二、将要出现的概念 1.进程调度队列 2.位图 3.进程的优先级 三、Linux进程的调度过程 1.活动队列(*active指向的队列) 2.过期队列&#…

Linux的多线程(线程的创建,退出,取消请求,取消处理例程,线程属性的设置)

进程:是系统分配资源的最小单位,系统会为每一个进程分配一块独立的虚拟内存空间 线程:是系统调度的最小单位,系统不会为线程分配新的内存空间,但是线程也参与系统调度 cpu把时间片分给每一个进程,进程中的时间片再切分分给每一个线程,所以线程也会得到…

在掌控板中加载人教版信息科技教学指南中的educore库

掌控板中加载educore库 人教信息科技数字资源平台(https://ebook.mypep.cn/free)中的《信息科技教学指南硬件编程代码说明》文件中提到“本程序说明主要供教学参考。需要可编程主控板须支持运行MicroPython 脚本程序。希望有更多的主控板在固件中支持ed…

【重学 MySQL】五十二、MySQL8 新特性:计算列

【重学 MySQL】五十二、MySQL8 新特性:计算列 定义特性用法应用场景注意事项 在MySQL8中,计算列是一项引入的新特性,它为数据处理和分析提供了更大的灵活性和便捷性。 定义 计算列是指根据数据库中其他列的值通过计算得出的新列&#xff0c…

网站开发基础:HTML、CSS

前端开发主要使用的技术如 HTML、CSS 和 JavaScript 等。 简单制作一个网页 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>柒毓同学网站的首页</title><style>.c1{border: solid …

OpenGL笔记十九之相机系统

OpenGL笔记十九之相机系统 —— 2024-10-02 晚上 文章目录 OpenGL笔记十九之相机系统1.运行1.1.游戏相机1.2.轨迹球相机 2.游戏相机与轨迹球相机切换3.博主笔记本要运行需要更改的文件更改1:28_OpenGL_CameraSystem/application/Application.cpp更改2:28_OpenGL_CameraSystem/a…