python基础——python包【创建和导入,下载第三方包】

📝前言:
在上一篇文章python基础——模块中,我们讲解了有关python模块的相关知识,这篇文章我们进一步讲解用于储存多个模块文件的python包:
1,什么是python包
2,如何创建和导入python包
3,第三方包

🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:当你想要放弃的时候,想想,是什么让你坚持到了现在


文章目录

  • 一,什么是python包
  • 二,创建和导入python包
    • 1,创建
    • 2,导入
      • (1)普通导入
      • (2)_ _all_ _ 和 * 来导入
  • 三,下载第三方包
    • 1,命令栏下载
    • 2,pycharm里下载

一,什么是python包

下面是我们的目录栏:
在这里插入图片描述
箭头所指向的那个文件就是python包
所以说:
表层上:python包就是一个文件夹,里面存放的是一个个模块文件,这些文件里面写的就是我们实现的功能
逻辑上:python包的本质还是模块

python包的特点:
1,外观上:这个文件夹多了个圈
2,文件夹里面的文件:当我们创建python包的时候,__init__.py文件是必须存在的(一般情况下,会自动帮我们添加),有了这个文件才代表这个文件夹是一个python包。其他以.py后缀结尾的文件就是我们写好的模块文件
(即:python模块文件+__init__.py文件构成的文件夹就是python包)

二,创建和导入python包

1,创建

pycharm里面创建python包的基本步骤:
在这里插入图片描述
如图所示:右击左边的栏目——点击新建——再点击python软件包
当我们创建好后,__init__.py文件会被自动创建
在这里插入图片描述

2,导入

python包的本质是模块,所以其实导入python包和导入模块差不多,有了python包只是相当于多了一层而已,我们用.来控制层级

(1)普通导入

示例:
假设我们创建好了一个python包,并在每个模块文件里面写好了功能:
在这里插入图片描述
使用python包示例:

from my_package.module1 import print1
# 从my_package的module1 导入print1功能
print1()   # 输出结果:我是module1# 当然,也可以导入整个模块
# from my_package import module1
# (只要符合规则,可以有多种写法)

(2)_ all _ 和 * 来导入

我们可以在__init__.py文件中的规定__all__,这和上一篇文章python——模块里面讲__all__一样,可以控制*导入的模块
语法(在__init__.py文件里面写):

__all__ = [模块名1, 模块名2,……]

这时候,我们import*,导入的就是我们在__all__里面写的文件了
(注意:如果没有写__all__,直接import*导入全部模块文件是不行的)
在这里插入图片描述
具体的使用方式和上一篇文章讲述的类似,就不过多展示了

三,下载第三方包

1,命令栏下载

语法:

在这里插入图片描述
但是有时候,下载速度会很慢,这时候我们可以使用清华大学提供的一个网址:
https://pypi.tuna.tsinghua.edu.cn/simple
只需要在后面输入这个网址就行:
在这里插入图片描述
安装好以后,想看看有没有安装好,只需要导入就行,没有异常就是安装好了:
在这里插入图片描述
我们还可以用pip list来查看我们所安装的第三方包:
在这里插入图片描述

2,pycharm里下载

在这里插入图片描述
(此图片来自B站黑马程序员)
下载时选项options也可以指定网站,和上面输的一样(清华大学的网站)


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

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

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

相关文章

选择排序解读

在计算机科学中,排序算法是一种将数据元素按照某种顺序排列的算法。今天,我们要探讨的是选择排序(Selection Sort),这是一种简单直观的排序方法,通过不断选择剩余元素中的最小(或最大&#xff0…

JDBC进阶篇-ROM、主键回显、批量操作、连接池

实体类和ORM 在使用JDBC操作数据库时,我们会发现数据都是零散的,明明在数据库中是一行完整的数据,到了Java中变成了一个一个的变量,不利于维护和管理。而我们Java是面向对象的,一个表对应的是一个类,一行数…

YoloV8改进策略:Neck改进改进|ELA(独家原创与复现)

摘要 本文使用2024年最新的ELA注意力机制改进YoloV8的Neck层,实现涨点!改进方式简单易用,涨点明显!欢迎大家使用。 大家在订阅专栏后,记着加QQ群啊!有些改进方法确实有难度,大家在改进的过程中遇到问题,我会解答和指导! 论文:《ELA:深度卷积神经网络的高效局部注意…

SpringBoot + Dobbo + nacos

SpringBoot Dobbo nacos 一、nacos https://nacos.io/zh-cn/docs/quick-start.html 1、下载安装包 https://github.com/alibaba/nacos/releases/下载后在主目录下,创建一个logs的文件夹:用来存日志 2、启动nacos 在bin目录下打开cmd运行启动命令&a…

2024年DeFi的四大主导趋势:Restaking、Layer3、AI和DePin

DeFi(去中心化金融)行业在2024年将继续呈现快速增长的势头,驱动这一增长的主要因素将是四大主导趋势:Restaking、Layer3、AI和DePin。这些趋势将推动DeFi生态系统的发展,为用户提供更多的机会和创新。 趋势1&#xff…

ERA拓展之旅:2024香港Web3峰会聚焦全球Web3发展

2024年香港Web3大型峰会是一次令人难忘的体验。这次峰会吸引了来自世界各地的Web3爱好者和从业者齐聚一堂,共同探讨着Web3的未来发展方向与机遇。在这个热情洋溢的氛围中,展现了对Web3的热情,分享彼此的见解和理念,探讨了未来的行…

【1】c++多线程技术之线程基础概念

1、进程与线程的区别 进程和线程是现代操作系统中并发执行程序的两种实体,它们之间存在一些本质的区别。具体分析如下: 进程:进程是操作系统资源分配的基本单位,每个进程都有自己独立的地址空间,包括代码、数据和堆栈…

性能优化-01

当看到性能指标时,你会首先想到什么呢?我相信 “高并发” 和 “响应快” 一定是最先出现在你脑海里的两个词,而它们也正对应着性能优化的两个核心指标—— “吞吐” 和 “延时” 。这两个指标是从应用负载的视角来考察性能,直接影…

Chatgpt掘金之旅—有爱AI商业实战篇|SEO 咨询业务|(十七)

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业在SEO 咨询业务有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随…

python基础语法+爬虫+图像处理+NumpyPandas数据处理(12天速成,第6天中-列表生成式)

1、列表生成式1 非常方便的得到一个列表 [元素 for遍历 if筛选]l1 [x for x in range(1,21)] # range(1,21) 生成[1,21)包左不包右的列表 print(l1)l2 [x*x for x in range(1,21)] print(l2)l3 [x for x in range(1,21) if x%2 0] print(l3)# 得到20个&#xf…

RTOS Lab report:Task-List Management in the RTOS Kernel

Task-List Management in the RTOS Kernel Ⅰ Introduction Much of the administration in a real‐time kernel consists of list management. In this initial step, we create three different lists and operate them as follows: • Create functions that can input a…

springboot+vue高校贫困生资助勤工俭学管理系统python

本次开发一套贫困生资助管理系统有管理员和用户两个角色。管理员功能有个人中心,学生管理,院校管理,贫困申请管理,资助项目管理,资助申请管理,资助发放管理,勤工俭学管理,岗位申请管…

大语言模型LLM《提示词工程指南》学习笔记04

文章目录 大语言模型LLM《提示词工程指南》学习笔记04数据生成生成代码完成函数,继续下一行生成其他有用的代码,例如创建和测试MySQL查询代码解释 提示函数 大语言模型LLM《提示词工程指南》学习笔记04 数据生成 LLMs具有生成连贯文本的强大能力。使用…

CMake构建OpenCv并导入QT项目过程中出现的问题汇总

前言 再此之前请确保你的环境变量是否配置,这是总共需要配置的环境变量 E:\cmake\bin E:\OpenCv\opencv\build\x64\vc15\bin F:\Qt\Tools\mingw730_64\bin F:\Qt\5.12.4\mingw73_64\bin 问题一: CMake Error: CMake was unable to find a build program…

Linux网络 基础概念

目录 背景知识 互联网的发展 局域网和广域网 网络拓扑 网络协议栈 协议的概念 网络协议的分层 网络与操作系统的联系 网络传输的基本流程 IP地址和MAC地址 以太网通信 数据包的封装和分用 跨网段传输 背景知识 互联网的发展 计算机网络是计算机技术和通信技术相…

MyBatis 执行流程

加载配置文件:MvBatis 的执行流程从加载配置文件开始。通常,MyBatis 的配置文件是一个 XML 文件,其中包含了数据源配置、SQL 映射配置、连接池配置等信息。构建 SqlSessionFactory:在配置文件加载后,MyBatis 使用配置信息来构建 SqlSessionFa…

【Android Studio报错】:* What went wrong:Out of memory. Java heap space

项目场景: 今天,刚打开自己的安卓项目发现报错: 报错: * What went wrong: Out of memory. Java heap space Possible solution: - Check the JVM memory arguments defined for the gradle process in: gradle.properties in…

路由器端口映射是什么意思?

路由器端口映射是一种网络配置技术,在私有网络中允许外部网络访问特定的服务或应用程序。通过将路由器的端口映射到内部客户端设备,可以实现从公共网络访问内部网络资源的目的。 天联组网介绍 天联是一款异地组网内网穿透产品,由北京金万维科…

网工基础协议——IP地址

IP地址的概念: IP 地址是我们进行TCP/IP通讯的基础,每个连接到网络上的计算机都必须有一个!P地址。我们目前使用的IP地址是32位的,通常以点分十进制表示。例如:192.168.0.181。IP地址的格式为: IP地址 网络地址 主机地址 或者 |P地址主机地…

windows ffmpeg7 通过rtsp拉取h265裸流

点击下边那个链接会转到github 下载完成后,添加include、lib到工程。 添加头文件: extern "C" { #include "libavcodec/avcodec.h" #include "libavformat/avformat.h" #include "libavformat/avio.h" #inclu…