3.Python学习:模块\包\yaml

news2024/9/21 8:03:45

1.模块与包–互相引用

在这里插入图片描述

(1)一个模块就是一个.py文件
(2)有模块的目录–文件夹
(3)包:文件夹包含__init__.py文件
(4)导入包时,init.py文件里的内容会执行一次

import 包名

2.导入模块函数

(1)将模块里的函数全部导入,缺点:占内存

fromimport 模块
-- 调用模块中的函数:模块名.函数名
from datas import test1
print(test1.sumdata(1,2))

datas/test1.py与导入的文件不在一个文件夹里
在这里插入图片描述

(2)定向导入模块中的函数

from 模块 import 函数
-- 调用模块中的函数:直接使用函数名()调用
from test1 import sumdata
from.模块 import 函数
-- 调用模块中的函数:直接使用函数名()调用
from datas.test1 import sumdata
print(sumdata(1,2))

(3)导入模块与被导入模块在同一层时

import 模块
-- 调用模块中的函数:模块名.函数名()调用
import test1
print(test1.sumdata(1,3))

(4)导入上级包中的模块

from 上级包.import 模块
-- 如果要导入的包在当前文件的上层,要加上那一层的层级

(5)当函数重名时,导入函数起别名

from A import A as a1
from B import A as a2

3.主函数

与java主函数类似,但不同:

  • java必须有主函数,否则编译不通过
  • python可有可无,若有则表示以下代码仅在本模块执行
if __name__=='__main__':
	print(__name__)#__main__
说明:__name__如果是本模块调用,值是main,如果是用其他模块调用,值是文件名
作用:调试代码写里边,别人调用时就不会打印main里的代码。不会影响其他人调用
if __name__=='__main__':
    from datas.test1 import sumdata
    print(test1.__name__)# test1

4.标准路径

python找文件时在标准路径找

(1)导入标准路径

import sys
for one in sys.path://sys.path是标准路径,列表
	print(one)

在这里插入图片描述
优先级:当前路径>工程路径>其他标准库路径

  • 第一个是当前路径,第二个是工程路径,之后是其他标准路径
  • 所有第三方库放在 python的libsite-packages
  • python文件取名时要注意尽量不要和标准库文件重名,否则导入标准库时,会出现问题

(2)把其他文件添加到标准路径

sys.path是列表,因此可以添加值。只添加一次,不是永久添加
在这里插入图片描述

import sys
sys.path.append('D:\codeZM\AutoDemo')
print(sys.path)
import test1
print(test1.sumdata(1,2))# 3

不能写为from AutoDemo import test1,因为当前视角在AutoDemo,AutoDemo下没有AutoDemo,可以修改标准路径为:D:\codeZM

import sys
sys.path.append('D:\codeZM')
print(sys.path)
from AutoDemo import test1
print(test1.sumdata(2,2))

5.安装第三方库

在这里插入图片描述

(1)安装方式

第一种:cmd命令安装(以管理员身份运行)

在这里插入图片描述

第二种:软件安装

(1)pycharm-【settings】-【project】-【Python Interpreter】-【点+号】
(2)新版:控制台【底部Python Packages 】-【添加源】

6.常用pip命令

查看安装了哪些库:pip list
安装指定版本:pip install selenium==3.14.1
卸载第三方库:pip uninstall 第三方库名

7.常用第三方库

xlrd  读取excel
xlwings 写入excel
requests 爬虫
loguru 日志
pytest 测试框架

8.yaml

yaml是第三方库,也需要安装:
pip install pyyaml
在这里插入图片描述

(1)语法格式

在这里插入图片描述

1)yaml中的字符串

在这里插入图片描述

"Hello\nworld"
import yaml
with open('./yamlFIle/test.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)
说明:
双引号:"Hello\nworld"   ==读取==》Hello
								 world
单引号:'Hello\nworld'   ==读取==》Hello\nworld
不加引号:Hello\nworld   ==读取==》Hello\nworld

在这里插入图片描述

2)yaml中的列表

在这里插入图片描述
不加空格按照负数解释

- 10
- 20
-
  - 1
  - 2
with open('./yamlFIle/list.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)

在这里插入图片描述

3)yaml中的字典

value前有空格,不加空格按照字符串解释
在这里插入图片描述

A:
 name1: Paul
B: book
import yaml
with open('./yamlFIle/dict.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)

在这里插入图片描述

3)yaml中数据格式混着放

在这里插入图片描述

- 10
- 10
---
name: tom
age: 10
---
"hello"

在这里插入图片描述

import yaml
with open('./yamlFIle/mix.yaml') as file1:
    text=yaml.load_all(file1,Loader=yaml.FullLoader)
    for one in text:
        print(one)
(2)读取yaml文件load

在这里插入图片描述

import yaml
with open('./yamlFIle/dict.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)
(3)读取多种元素的yaml文件load_all遍历

在这里插入图片描述

import yaml
with open('./yamlFIle/mix.yaml') as file1:
    text=yaml.load_all(file1,Loader=yaml.FullLoader)
    for one in text:
        print(one)
(4)yaml中的变量

在这里插入图片描述

HOST: &HOST 121.41.12.22
url: *HOST
import yaml
with open('./yamlFIle/defVar.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)

在这里插入图片描述

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

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

相关文章

聚鼎装饰画:装饰画喊个与现在是什么情况

回眸历史长河,装饰画以其独特的魅力一直为人类生活环境添彩增趣。从古埃及的壁画到文艺复兴时期的油画,再到现代简约的线条画,装饰画如同时代的缩影,映射出不同历史阶段的文化特征与审美趣味。 在现代社会,装饰画的现状…

C语言学习笔记[21]:分支语句if...else

C语言是结构化的程序设计语言 顺序结构选择结构循环结构 分支语句对应的就是选择结构,循环语句对应的就是循环结构 分支语句 if...elseswitch 循环语句 whilefordo...while goto语句 语句 C语言中由分号隔开的就是一条语句,比如: #…

猫咪浮毛多怎么办?一分钟推荐性价比高的养猫空气净化器排名

作为一名猫咖店老板,我发现很多铲屎官来店里咨询,在春夏换季时会频繁打喷嚏、全身过敏红肿。这是因为猫咪在换季时会大量掉毛,家里就像下雪一样,空气中充满了猫毛。这些猫毛上附带的细菌会随浮毛被人吸入,从而引发打喷…

【计算机毕业设计】021基于weixin小程序微信点餐

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

奇安信20240513笔试

题目一 解题思路 n转为字符串,如果位数为偶数,取前一半设为x,后一段为y,从x最低位开始,9,9*10,9*10*10。。。 到最高位,加x,如果x大于或等于y,加1. 位数为奇数…

数据结构——二叉树之c语言实现堆与堆排序

目录 前言: 1.二叉树的概念及结构 1.1 特殊的二叉树 1.2 二叉树的存储结构 1.顺序存储 2.链式存储 2. 二叉树的顺序结构及实现 2.1 堆的概念 ​编辑 2.2 堆的创建 3.堆的实现 3.1 堆的初始化和销毁 初始化: 销毁: 插入&…

React Hooks:上天在提醒你,别再用Class组件了!

React Hooks:上天在提醒你,别再用Class组件了! React Hooks 的出现可以说是前端界的一场革命。它不仅让我们告别了繁琐的 Class 组件,还让代码变得更加简洁、易读、易维护。如果你还在固守 Class 组件的阵地,那么这篇…

如何处理 PostgreSQL 中由于表锁定导致的并发访问问题?

文章目录 一、表锁定的类型二、表锁定导致的并发访问问题三、解决方案(一)使用合适的锁定模式(二)优化事务处理(三)避免不必要的锁定(四)使用索引(五)监控和分…

Java-链表反转

题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 图示: 输入: head [1,2,3,4,5] 输出: [5,4,3,2,1] 解题思路: 情况一: 只有一个节点或者没有节点 …

小白学C++(第一天)基础入门

温馨提醒:本篇文章,请各位c基础不行的童鞋不要贸然观看 C的第一个程序 第一个关键字namespace namespace 是定义空间的名字的关键字,使用格式格式如下: namespace 空间名 { } 其中{ }内的命名空间的成员,可以定义…

计算机图形学入门26:高级光线传播

1.有偏与无偏 在做光线追踪很多方法都是用蒙特卡洛积分去估计,蒙特卡洛积分有些是无偏的(Unbiased),所谓无偏估计就是无论使用多少个样品,所估计的期望值都是正确的。那么,所有其他情况都是有偏的(Biased),就是估计的期…

MySQL存储与优化 一、MySQL架构原理

1.MySQL体系架构 MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层 (1)网络连接层 客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。目前几乎支持所有主流的服务端编程技术,例如常…

《初级C++》(一)

初级C(一) 1: C参考⽂档2:C创建与实现创建C的第一套程序命名空间的理解空间命名的实现C输⼊&输出缺省参数 1: C参考⽂档 https://legacy.cplusplus.com/reference/ 《非官方》 https://zh.cppreference.com/w/cpp 《官方中文版》 https:/…

前端面试题28(Vue3的Teleport功能在什么场景下特别有用?能给个例子吗?)

Vue 3 的 Teleport 功能在需要将组件的渲染结果放置在 DOM 树中与当前组件位置无关的任意位置时特别有用。这通常涉及到需要将某些UI元素(如模态框、弹出菜单、通知、工具提示等)从其逻辑上的父级组件中“提取”出来,放置到页面的更高层级或完…

PCIe 入门 Demo(一):基础知识

PCIe 入门 Demo(一):基础知识 主要参考 up主 芯片人阿伟 的教程【针对 RISC-V 架构】 视频介绍:https://www.bilibili.com/video/BV1Xm4y1V757 源码仓库:https://github.com/oldawei/show_me_the_code 本文主要补充一些…

前端JS特效第24集:jquery css3实现瀑布流照片墙特效

jquery css3实现瀑布流照片墙特效&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8" /> <title>jquerycss3实现瀑…

java中==和equals()的区别探究

目录 一、Object对象 二、 三、String类的equals()方法 四、示例 4.1直接定义两个相同的值比较 4.2直接定义两个值不同的字符串进行比较 4.3直接定义一个字符串和new一个字符串进行比较&#xff08;两者值相同&#xff09; 4.4直接定义一个字符串和new一个字符串进行…

文华财经盘立方期货通鳄鱼指标公式均线交易策略源码

文华财经盘立方期货通鳄鱼指标公式均线交易策略源码&#xff1a; 新建主图幅图类型指标都可以&#xff01; VAR1:(HL)/2; 唇:REF(SMA(VAR1,5,1),3),COLORGREEN; 齿:REF(SMA(VAR1,8,1),5),COLORRED; 颚:REF(SMA(VAR1,13,1),8),COLORBLUE;

Vue3 项目中 svg 图标的封装及使用

安装 npm install vite-plugin-svg-icons -D在 vite.config.ts 中配置插件&#xff1a; import { createSvgIconsPlugin} from vite-plugin-svg-icons; import path from path;plugins: [createSvgIconsPlugin({iconDirs: [path.resolve(process.cwd(), src/assets/icons)],s…

解决win10报“无法加载文件……profile.ps1,因为在此系统上禁止运行脚本”的问题

打开命令行报错 解决方法 使用管理员权限打开PowerShell&#xff1a;WinX, 选择“Windows PowerShell&#xff08;管理员&#xff09;” 输入&#xff1a;Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 输入&#xff1a;y确认修改安全策略 &#xff1a;y确认修改安全策略…