Python学习基础笔记七十一——模块和库2

将模块放入包中

模块文件,功能分的比较清晰。文件与文件之间,是通过import这种调用关系。

当我们的项目模块文件特别多的时候,我们还需要将这些模块文件根据功能划分到不同的目录中。

这些放模块文件的目录,python把它们称之为package。

包目录中需要有一个名字为__init__.py的初始化文件,有了它,python才认为这是一个python包。

Python3.3 以后版本的解释器,如果目录只是用来存放模块文件,就不需要一个空的__init__.py文件了。通常都还带着这个初始化文件。

__init__.py可以用着包的初始化文件,里面放一些初始化代码,有独特的作用。

调用模块里的函数。

stockleft,这是一个函数对象。

stock.food.beef 这是一个模块。

库的概念:

如果你写的模块文件里面的函数,实现了通用的功能,经常被其他模块所调用,我们就可以把这些调用的模块文件称之为

库是一个抽象的概念,只要某个模块或者一组模块,开发它们的目的就是给其他模块调用的,就可以称之为库。

Python标准库:

Python语言提供了功能丰富的标准库。这些标准库把开发中常用的功能都做好了。

我们可以直接使用它们。

这些标准库里面有一部分叫做内置类型内置函数

内置类型和内置函数无需使用import导入,直接可以使用。

内置类型:int float str list tuple等。

内置函数:int str print type len函数等。

还有一些库,需要使用import导入,才能使用。

常见的有sys、os、time、datetime、json等等。

这些库是开发人员帮我们写好了,他们知道我们经常需要哪些代码。

解释器怎么找到模块文件?

首先它在解释器内置模块中寻找是否有XXX。

所谓内置模块,就是内置在Python解释器程序中的模块。它们使用C语言编写的,编译链接在解释器里面。

也就是说他们是解释器的一部分,所以解释器运行时,他们就在解释器里面,无需查找。

import sysprint(sys.builtin_module_names)for path in sys.path:print(path)

这个sys.path 是一个列表,这个列表里包含了一些路径。

当我们import一个模块的时候,解释器会依次上面列出的目录下面去寻找。

这里面都是标准库的目录保存的路径。

其中.zip是一个压缩的包的目录文件。

我们自己开发写的模块文件,我们要去导入它的时候,在项目的路径下。

解释器启动的时候,是从根据下面这些规则添加路径到sys.path列表里的。

启动脚本文件所在的目录

当前工作目录

PYTHONPATH环境变量的目录

Python解释器缺省的安装目录

如果我们自己想添加一些目录,作为模块搜索路径:

并且是永久的。

  

注意的是:模块搜索路径和import后面的路径合起来是一个完整的路径。

了解环境变量很重要,不仅仅是Python编程需要了解它。

例如:os的库:

print(os.__file__)

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

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

相关文章

公司销售个人号如何管理?

微信管理系统可以帮助企业解决哪些问题呢? 一、解决聊天记录监管问题 1.聊天记录的保存,让公司的管理者可以随时查看公司任意销售与客户的聊天记录,不用一个一个员工逐一去看,方便管理; 2.敏感词监控,管理者…

git操作说明

SourceURL:file:///home/kingqi/桌面/git操作说明.doc 本地建立仓库 mkdir namebao cd namebao pwd git init 初始化 cd .git/ gedit config 本地存储 进入目录上传全部文件 git add . 提交 git commit -m “说明” 远程提交 复制gitee或者github仓库链接 可以直…

Eslint配置 Must use import to load ES Module(已解决)

最近在配置前端项目时,eslint经常会碰到各种报错(灰常头疼~) Syntax Error Error No ESLint configuration found.Syntax Error: Error: D:\dmq\dmq-ui.eslintrc.js: Environment key “es2021” is unknown at Array.forEach ()error in ./…

实验四:回溯算法的设计与分析

某不知名学校大二算法课实验报告 题目来自力扣 第一题:幂集 力扣题目链接:幂集 题目描述: 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明:解集不能包含重复的子集。 示例: 输入&#xf…

问:TCP/IP协议栈在内核态的好还是用户态的好

“TCP/IP协议栈到底是内核态的好还是用户态的好?” 问题的根源在于,干嘛非要这么刻意地去区分什么内核态和用户态。 引子 为了不让本文成为干巴巴的说教,在文章开头,我以一个实例分析开始。 最近一段时间,我几乎每…

【基础篇】七、Flink核心概念

文章目录 1、并行度2、并行度的设置3、算子链4、禁用算子链5、任务槽6、任务槽和并行度的关系 1、并行度 要处理的数据量很多时,可以把一个算子的操作(比如前面demo里的flatMap、sum),"复制"多份到多个节点&#xff0c…

phpcms_v9模板制作及二次开发常用代码

0:调用最新文章,带所在版块 {pc:get sql"SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url as curl,a.id FROM v9_news a, v9_category b WHERE a.catid b.catid ORDER BY a.id DESC " num"15" cache"300"} {lo…

postman接口测试

HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直接拿来就用,而且功能还支持的不错的,我使用过的来讲,还是postman比较上手。 优点: 1、支持用例管理 2、支持get、post、文件上传、响…

计网面试复习自用

五层: 应用层:应用层是最高层,负责为用户提供网络服务和应用程序。在应用层,用户应用程序与网络进行交互,发送和接收数据。典型的应用层协议包括HTTP(用于网页浏览)、SMTP(用于电子邮…

如何提高企业工作微信的管理效率?

微信作为一款拥有数亿用户的软件,其使用频率在全国范围内居高不下。随着企业的不断发展,微信在工作中的应用也变得越来越广泛。为了更好地服务客户并提升业务效益,企业通常会为新入职员工配置工作微信以便于业务沟通和客户服务。然而&#xf…

iCloud涨价不用慌!学会使用群晖生态将本地SSD“上云”

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是想使用群晖生态软件,就必须要在服务端安装群晖系统,具体如何安装群晖虚拟机请参考: 1. 安装并配置synology drive1.1 安装群辉drive套件1.2 在局域…

存在已打开的MicrosoftEdge浏览器,无法执行安装

存在问题:UiBot Creator 安装Chrome扩展时,存在已打开的MicrosoftEdge浏览器,无法执行安装。 解决办法: 打开MicrosoftEdge浏览器,然后在浏览器页面右上角打开“…”图标 第二步,打开“…”图标之后&…

MAC上使用Wireshark常见问题

文章目录 介绍正文启动异常-Permission denied解决方法 过滤协议和地址指定源地址和目的地址调整 time format 介绍 简单记录Wireshark在日常使用过程中的遇到的小case。 正文 Wireshark相较于tcpdump使用较为简单,交互也更为友好。 点击Start即可启动抓包 启动…

【OpenCv光流法进行运动目标检测】

opencv系列文章目录 文章目录 opencv系列文章目录前言一、光流法是什么?二、光流法实例1.C的2.C版本3.python版本 总结 前言 随着计算机视觉技术的迅猛发展,运动目标检测在图像处理领域中扮演着至关重要的角色。在现实世界中,我们常常需要追…

Mysql5.7大限将至升级Mysql 8.0过程记录(未完)

一、前言 时间很快,到2023年10月底,MySQL 5.7就到了它的EOL(End of Life),届时将不会提供任何补丁,无法应对潜在的安全风险;是时候和 MySQL 5.7 说再见了!!!&…

C++语言实现网络爬虫详细代码

当然&#xff01;下面是一个用C语言实现的基本网络爬虫的详细代码示例&#xff1a; #include <iostream> #include <string> #include <curl/curl.h> size_t writeCallback(void* contents, size_t size, size_t nmemb, std::string* output) {size_t totalS…

强化科技创新“辐射力”,中国移动的数智化大棋局

作者 | 曾响铃 文 | 响铃说 丝滑流畅的5G连接、每时每刻的数字生活服务、无处不在的智能终端、拟人交流的AI助手、梦幻般的XR虚拟现实、直接感受的裸眼3D…… 不知不觉&#xff0c;那个科幻片中的世界&#xff0c;越来越近。 数智化新世界的“气氛”&#xff0c;由一个个具…

GEE 18:基于GEE平台的土地荒漠化监测与分析【论文复现】

Desertification 1. 研究背景1.1 参考论文1.2 参数获取1.2.1 NDVI1.2.2 Albedo1.2.3 Normalizing indices1.2.4 Calculating the quantitative relationship1.2.5 Calculating DDI2. GEE2.1 数据2.2 GEE code2.2.1 Study region2.2.2 Reomove cloud for Landsat-82.2.3 Calcula…

CISA 彻底改变了恶意软件信息共享:网络安全的突破

在现代网络安全中&#xff0c;战术技术和程序&#xff08;TTP&#xff09;的共享对于防范网络事件至关重要。 因此&#xff0c;了解攻击向量和攻击类型之间的关联如今是让其他公司从其他公司遭受的 IT 事件中受益&#xff08;吸取经验教训&#xff09;的重要一步。 美国主要网…

PyTorch入门教学——使用PyCharm创建一个PyTorch项目

首先需要创建好PyTorch的虚拟环境&#xff0c;步骤&#xff1a;PyTorch入门教学——简介与环境配置-CSDN博客打开PyCharm&#xff0c;新建项目&#xff0c;选择项目的存放位置。选择先前配置的解释器&#xff0c;也就是虚拟环境中的解释器。&#xff08;记住创建的虚拟环境所在…