Python学习笔记(十八)————python包相关

news2024/9/20 20:27:09

目录

(1)python包作用

(2)自定义python包

 (3)导入自定义包

方式一:

方式二:

 (4)导入第三方包

①pip安装

②PyCharm安装


(1)python包作用

基于Python模块,我们可以在编写代码的时候,导入许多外部代码来丰富功能。但是,如果Python的模块太多了,就可能造成一定的混乱,所以我们通过Python包的功能来管理。

物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块文件。

逻辑上看,包的本质依然是模块。

包的作用:

     当我们的模块文件越来越多时,可以帮助我们管理这些模块, 包的作用就是包含多个模块,但包的本质依然是模块

(2)自定义python包

步骤如下:

① 新建包`my_package`

新建包内模块:`my_module1` `my_module2`

模块内代码如下

 ​​

Pycharm中的基本步骤:

[New]  →  [Python Package] → 输入包名 [OK]   → 新建功能模块(有联系的模块)

注意:新建包后,包内部会自动创建`__init__.py`文件,这个文件控制着包的导入行为

 (3)导入自定义包

方式一:

 

方式二:

注意:必须在`__init__.py`文件中添加`__all__ = []`,控制允许导入的模块列表

 (4)导入第三方包

我们知道,包可以包含一堆的Python模块,而每个模块又内含许多的功能。所以,我们可以认为:一个包,就是一堆同类型功能的集合体。在Python程序的生态中,有许多非常多的第三方包(非Python官方),可以极大的帮助我们提高开发效率,如:

科学计算中常用的: numpy
数据分析中常用的: pandas
大数据计算中常用的: pyspark apache-flink
图形可视化常用的: matplotlib pyecharts
人工智能常用的: tensorflow

这些第三方的包,极大的丰富了Python的生态,提高了开发效率。但是由于是第三方,所以Python没有内置,所以我们需要安装它们才可以导入使用。

①pip安装

第三方包的安装非常简单,我们只需要使用Python内置的pip程序即可。

打开我们许久未见的:命令提示符程序,在里面输入:

pip install 包名称

即可通过网络快速安装第三方包

由于pip是连接的国外的网站进行包的下载,所以有的时候会速度很慢。我们可以通过如下命令,让其连接国内的网站进行包的安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

 https://pypi.tuna.tsinghua.edu.cn/simple 是清华大学提供的一个网站,可供pip程序下载第三方包

PyCharm安装

除此之外,pycharm中也可直接安装第三方包

 

 

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

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

相关文章

【数据挖掘】推荐系统(二):基于内容的推荐

五、基于内容的系统 5.1 基本原理 基于内容的系统根据用户偏好和配置文件生成建议。他们尝试将用户与他们以前喜欢的项目相匹配。项目之间的相似程度通常根据用户喜欢的项目的属性来确定。与大多数利用目标用户和其他用户之间的评级的协作过滤模型不同,基于内容的模…

设计模式之模板方法实现抽奖功能

1.项目背景 接到一个需求,实现电商营销模块的圆盘抽奖功能。如果大家有关注市面上的抽奖,大致也是圆盘抽奖、九宫格抽奖,随机抽球等等。尤其是电商行业,会有各种各样的活动,因此也会出现各式各样的抽奖,那…

【InnoDB 存储引擎】15.7.1 InnoDB Locking(锁实验,重要)

文章目录 1 关于 Record Lock 的实验1.1 实验 1:没有主键时的如何锁定1.2 实验 1(续):带着问题继续实验1.3 实验 2:有主键时如何锁定 2 关于 Next-Key Lock 的实验2.1 实验 3:如何确定算法的锁定范围2.2 实…

HTML期末作业-精仿故宫模板(HTML+CSS+JavaScript)

期末作业完成!我仿了故宫官网,老师给了90分。现在分享给大家! 首页包含功能: 轮播图:在首页顶部设置一个可自动轮播的图片展示区域,展示多张宣传图片或产品图片,提升页面的视觉效果和吸引力。…

从0训练一个神经网络分类器

从0训练一个神经网络分类器 0. 关于数据? 训练一个图像分类器1. 使用torchvision可以非常容易地加载CIFAR10。2. 定义一个卷积神经网络3. 定义损失函数和优化器4. 训练网路5. 在测试集上测试网络6. 检测网络在整个测试集上的结果如何。7. 在识别哪一个类的时候好&am…

MySQL基操例题

Ⅰ创建数据库使用create语句: create database 数据库名; Ⅱ创建表同理: create table if not exists 表名 ( 字段名 数据类型 主键 约束, 字段名 数据类型 主键 约束) 设置存储引擎和字符集; …

Text-Augmented Open Knowledge Graph Completion viaPre-Trained Language Models

摘要 开放知识图谱(KG)完成的任务是从已知的事实中得出新的发现。增加KG完成度的现有工作需要(1)事实三元组来扩大图推理空间,或(2)手动设计提示从预训练的语言模型(PLM)中提取知识,表现出有限的性能,需要专家付出昂贵的努力。为此,我们提出了TAGREAL,它自动生成高质量的…

【youcans动手学模型】SENet 模型及 PyTorch 实现

欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【youcans动手学模型】SENet 模型 【经典模型】SENet 模型-Cifar10图像分类1. SENet 卷积神经网络模型1.1 模型简介1.2 论文介绍1.3 分析与讨论 2. 在 PyTorch 中定义 SENet 模型类2.1 定义 SE Block…

STL好难(5):stack的使用

目录 1.stack的介绍和使用: 2.stack的使用 3.有关stack的练习题: 🍉最小栈 🍉栈的压入、弹出序列 4.stack的模拟实现: 1.stack的介绍和使用: 点击查看stack的文档介绍 1. stack是一种容器适配器&#…

(vue)element-ui表格中插入switch开关

(vue)element-ui表格中插入switch开关 效果&#xff1a; <el-table-column property"enabled" label"启用/禁用" width"150"><template slot-scope"scope"> <el-switchv-model"scope.row.enabled"active-co…

动态规划之746 使用最小花费爬楼梯(第3道)

题目&#xff1a; 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费…

差分学习笔记

1.前言 同步于 c n b l o g s cnblogs cnblogs 发布。 前置芝士&#xff1a; 基本树上操作&#xff0c;lca。&#xff08;用于树上差分。&#xff09; 如有错误&#xff0c;欢迎各位大佬指出。&#xff08;顺便复习一下远古算法。&#xff09; 2.什么是差分 我们先给定一…

AR增强现实技术解决企业远程协作需求

随着科技的不断发展&#xff0c;AR(增强现实)远程协同系统已经成为了一种新型的工作方式。这种系统利用AR技术将虚拟信息叠加到现实世界中&#xff0c;从而实现异地高效协作。 由广州华锐互动开发的AR远程协同系统&#xff0c;广泛应用于各个行业的远程协作场景中&#xff0c;…

44. 通配符匹配(从暴力递归到动态规划)

题目链接&#xff1a;力扣 所有的动态规划都可以使用暴力递归求解&#xff0c;如果推导dp方程比较困难&#xff0c;可以先使用暴力递归进行尝试&#xff0c;然后将从递归改为动态规划&#xff0c;这种方式在dp方程求解困难的情况下非常有效&#xff0c;而且从递归修改为动态规划…

计算机网络?

那么这样能通过审核吗&#xff1f;

二次元古代美女【InsCode Stable Diffusion美图活动一期】

二次元古代美女【InsCode Stable Diffusion美图活动一期】 一、前言二、初识 InsCode三、 试玩 Stable Diffusion 模型1.阅读Stable Diffusion 模型在线引导说明2.实际体验 Stable Diffusion 模型 四、模型相关版本和参数配置&#xff1a;五、图片生成提示词与反向提示词六、种…

游戏术语英语

王者荣耀英文术语大全&#xff01;玩这么久你都听懂了吗&#xff1f; 王者荣耀AP、AD、ADC、AOE等专业术语大全_乐游网 Operating System win2003, winXP, win7, win10 MacOS Game Platform 游戏平台 TGP&#xff08;Tencent Game Platform &#xff09; PC &#xff08;Per…

Linux上部署docker与docker-compose的步骤

Centos上部署docker与docker-compose的步骤 linux系统版本为Centos7.2 第一步-检查前置条件是否符合部署docker 64-bit 系统 kernel 3.10 使用uname -r 检查内核版本&#xff0c;返回的值大于3.10即可。 Centos 7.2的kernel是&#xff1a;3.10.0-327&#xff0c;刚好满足条件…

【算法与数据结构】225、LeetCode用队列实现栈

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;第一种解法是利用两个队列&#xff0c;一个用作输出队列&#xff0c;一个用作备份队列。主要难点在于p…

<Java导出Excel> 4.0 Java实现Excel动态模板字段增删改查

思路&#xff1a; 主要是同时操作两张表&#xff1a;一张存储数据的表&#xff0c;一张存储模板字段的表&#xff1b; 查询&#xff1a;只查询模板字段的表&#xff1b; 新增&#xff0c;修改&#xff0c;删除&#xff1a;需要同时操作两张表中的字段 如果两张表字段不一致&…