当前位置: 首页 > news >正文

python运维(twenty-four day)

一、python基础

1、环境python2、python3

[root@python ~]# yum list installed | grep python    #检查是否有python包
[root@python ~]# yum list installed | grep epel      #检查是否有epel包
[root@python ~]# yum -y install epel-release
[root@python ~]# yum -y install python3
#最新安装3.12可以使用源码安装
[root@python ~]# python3 --version
Python 3.6.8
#进入python的编辑状态
[root@python ~]# python3  
#如果直接输入python,会进入到python2中

2、变量和数据类型

(1)三大数据类型

        字符        字符串

                str

>>> b='zhangin'
>>> b
'zhangin'
>>> type (b)
<class 'str'>

        数值        整数,浮点

                int

                float

>>> c=3
>>> c
3
>>> type(c)
<class 'int'>
>>> d=3.14
>>> d
3.14
>>> type(d)
<class 'float'>

        逻辑        True | False

>>> flag=True
>>> print(flag);
True
>>> print(1==1);
True
>>> print(1!=1)
False
>>> print("我是救世大英雄")
我是救世大英雄
>>> a=3
>>> b="abc"
>>> type(a)
<class 'int'>    #整数类型
>>> type(b)
<class 'str'>    #变量类型
>>> quit

修改pip镜像为清华
[root@python ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package

3、数据集合

最终在计算是在python内存中计算的,必须要有指定内存空间保存数据,这些内存空间其实就是变量;使用数据集合批量管理内存空间

(1)列表

① 使用最广泛的一个数据集合工具

②在java中数组和list的综合体

③list

        当有多个数据管理,可以定义一个列表

>>> lista=["李四","王五","小江","蛋蛋"]
>>> type(lista)
<class 'list'>
>>> lista
['李四', '王五', '小江', '蛋蛋']>>> listb=["tom","jerry"]
>>> listb
['tom', 'jerry']
>>> listb.append("tomcat");
>>> listb
['tom', 'jerry', 'tomcat']
>>> listb.insert(1,"xiaojiang")
>>> listb
['tom', 'xiaojiang', 'jerry', 'tomcat']
>>> del listb
>>> listb
Traceback (most recent call last):File "<stdin>", line 1, in <module>
NameError: name 'listb' is not defined
>>> listb=["tom","jerry"]
>>> listb
['tom', 'jerry']
>>> listb.pop
<built-in method pop of list object at 0x7f2377678e48>
>>> listb
['tom', 'jerry']
>>> listb.pop()
'jerry'
>>> listb
['tom']
#当在列表中删除或者修改一个元素的时候,列表会返回新的列表

④管理列表

#python为开发提供丰富的使用感手册
help(lista)  #通过上下方向,enter,space键来翻阅信息 使用q推出查看 more less
#创建列表
lista=[]
listc=[1,2,3]
#修改列表
#追加元素
lista.append(item)   #在所有元素之后添加元素
#插入元素
listb.insert(pos,item)  #在pos序号之前插入item#删除元素 remov 和app
list.pop()  #删除list中的最后一个元素
list.remove(list[index]) 删除序号为index的元素#修改元素
list[index]=newvalue
(2)字典

①dict

②dirctionary

③key-value   键值对

        {"name":"小江","age":"39","gender":"male"}

        键:值

{"from":"me","to"="you","message":"你吃饭了吗","time"="2024-7-8 9:00:32","user":{"username":"abc","password":"abc"}
}>>> a=[1,2,3]
>>> b={"username":"abc","password":"123"}
>>> a
[1, 2, 3]
>>> b
{'username': 'abc', 'password': '123'}
>>> a.append(b)
>>> b.["a"]=aFile "<stdin>", line 1b.["a"]=a^
SyntaxError: invalid syntax
>>> b["a"]=a
>>> a
[1, 2, 3, {'username': 'abc', 'password': '123', 'a': [...]}]
>>> b
{'username': 'abc', 'password': '123', 'a': [1, 2, 3, {...}]}
(3)元组

元组不可以修改,但是可以查看;列表可以改

tuple[index]

list(tuple)

tuple(list)

[]列表        ()元组        {}字典

list()可以把dict的key生成一个列表

list可以把tupl变成列表

tupl可以把dic和list变成元组

总结
功能指令说明
创建列表

[]

list(元组)

list(字典)

字典.keys()

字典.vlues()
字典.items()

符号本身就是列表

将元组转成列表

提取字典的key转成列表

字典中的key返回一个列表
字典中的value组成的列表
字典中的每个k-v组成元组,这些元组组成一个新个列表

修改列表

L.inster(index,value)

L.append(value)

L.[index]=value

L.pop()

del L

在索引值为index的元素之前差人一个元素
在所有元素之后添加一个元素
将索引为index元素的值修改为value
删除最后一个元素
释放L内存
查看列表

L

L[index]

显示列表中的所有数据
返回索引值为index的元素
字典的创建

{}

{k0:v0,k1:v0....}

Dict([(k0,v0),(k1,v0),(k2,v2)])

代表一个空字典

这是有初始值的列表

[]中的每个()中都是2个值,一个是key,一个是value自动解析为一个字典了

元组

(),(1,2,3,4)

也可以从dict中提取,也可以将列表直接转成元组

创建空元组,创建有初始值的元组

>>> tup10=(1,2,3,4)
>>> tup10
(1, 2, 3, 4)
>>> tup10[0]
1
>>> tup10[1]
2
>>> tup10[1]=666
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment>>> list(tup10)
[1, 2, 3, 4]
>>> aa=list(tup10)
>>> aa
[1, 2, 3, 4]

4、选择语句和循环语句

(1)选择语句

(必须要缩进)

①if
单分支
if condition0:statement0;
else:statement1;>>> if True:
...     print("i am true")
... else:
...     print("i am false")
... 
i am true
多分支
import random
n=random.randint(0,100)
print("随机分数为:",n)
if n>90:print("优秀")
elif n>80:print("良好")
elif n>70:print("中等")
elif n>60:print("合格")
else:print("不及格")
嵌套
import random
n=random.randint(0,100)
print("随机分数为:",n)
if n>90:print("优秀")
else:if n>80:print("良好")else:if n>70:print("中等")else:if n>60:print("合格")else:print("不及格")
②swith

(2)循环语句

①for
for var in list:print("var")for var in list:print(var)for i in range(101): #0-100n=n+iprint(n)  #1-100数字累加在列表中循环
for var in ["a","b","c"]:print(var)在字典中遍历
d={"id":1001,"name":"张三","age":19}
for var in d:print(d)  #将d这个字典中的key都输出print(d[var])  #根据key返回对应的value的值
for var in d.values():print(var)print(d[var])
for var in d.keys():print(var)在元组中遍历
tup10=("a","b","v")
for var in tup10:print(var)
​在列表中遍历
>>> for var in ["a","b","c"]:
...     print(var)
... 
a
b
c
>>> a=["e","f","g"]
>>> for var in a:
...     print(var)
... 
e
f
g
在字典中循环遍历
>>> d={"id":1001,"name":"张三","age":18,"gender":"男"}
>>> for var in d:
...     print (var)
... 
id
name
age
gender
>>> for var in d:
...     print (var,"-",d[var])
... 
id - 1001
name - 张三
age - 18
gender - 男>>> for var in d.values():
...     print(var)
... 
1001
张三
18
男
在元组里面遍历
>>> tup10=("a","b","e")
>>> for var in tup10:
...     print (var)
... 
a
b
e
 案例(0-100之间可以被7整除的数)
>>> b=list(range(101))
>>> b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
>>> for i in b:
...     if i%7==0:
...             print (i,"可以被7整除")
...     
... 
0 可以被7整除
7 可以被7整除
14 可以被7整除
21 可以被7整除
28 可以被7整除
35 可以被7整除
42 可以被7整除
49 可以被7整除
56 可以被7整除
63 可以被7整除
70 可以被7整除
77 可以被7整除
84 可以被7整除
91 可以被7整除
98 可以被7整除
②while
while condition:block#continue,break;   也可以应用于for
>>> n=0
>>> i=1
>>> while i<101:
...     n+=i
...     i+=1
... 
>>> n
5050>>> i=1
>>> n=0
>>> while True:  #死循环
...     print (i)>>> while True:
...     print("abc")
...     break
... 
abc
>>> while True:
...     print("abc")
...     continue  #一直循环输出abc>>> i=1
>>> while True:
...     if i==3:
...             continue   #一直循环但不输出内容
...     print(i)
...     i+=1
... 
1
2
#卡住

相关文章:

python运维(twenty-four day)

一、python基础 1、环境python2、python3 [rootpython ~]# yum list installed | grep python #检查是否有python包 [rootpython ~]# yum list installed | grep epel #检查是否有epel包 [rootpython ~]# yum -y install epel-release [rootpython ~]# yum -y instal…...

Eureka原理实践

1. 简介 1.1. 概述 Eureka是Netflix开源的一个服务注册与发现框架,它在微服务架构中扮演着至关重要的角色。 Eureka由两个核心组件组成: Eureka Server(服务注册中心):负责存储、管理和提供服务实例信息,如服务名、IP地址、端口号等。Eureka Server通常采用集群部署以保…...

Ant-Design-Vue快速上手指南+排坑

1. 简介 1.1. 概述 Ant-Design-Vue是由阿里巴巴开源的一个基于Vue.js框架的企业级UI设计语言。它旨在帮助开发者构建设计优雅、体验流畅的企业级应用。Ant-Design-Vue提供了一系列高质量的Vue组件,包括表单、表格、布局、导航、图标等,可以帮助开发者快速搭建应用程序界面。…...

mysql5.7安装

1.创建一个software文件 2.先下载mysql的repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 3安装源包 rpm -ivh mysql-community-release-el7-5.noarch.rpm 可能会报错 改成命令 rpm -ivh mysql-community-release-el7-5.noarch.rpm --nodeps…...

UE开发中的设计模式(三) —— 对象池模式

在FPS游戏中&#xff0c;射击会生成子弹&#xff0c;在命中敌人后子弹会被销毁&#xff0c;那么会导致子弹对象频繁地创建和销毁&#xff0c;会造成运行效率降低且会产生内存碎片问题&#xff0c;而对象池模式可以很好地解决这个问题。 文章目录 问题提出概述问题解决总结 问题…...

Mocha测试框架:JavaScript自动化测试的瑞士军刀

在JavaScript开发中&#xff0c;自动化测试是确保代码质量和可靠性的关键环节。Mocha是一个广泛使用的JavaScript测试框架&#xff0c;它支持多种断言库&#xff0c;允许开发者编写简洁、灵活的测试用例。Mocha特别适用于Node.js环境&#xff0c;但也可以在浏览器中运行。本文将…...

flask实现Streaming内容传输

当传输大量内存&#xff0c;以至于超出内存大小&#xff0c;一般http服务器会报500错误&#xff0c;这时可以使用Streaming流的方式来传输内容&#xff0c;类似ChatGPT和视频流那样的输出方式&#xff0c;flask里要用到生成器和直接响应。 from flask import stream_with_cont…...

seata的使用(SpringBoot项目整合seata)

文章目录 1、解压 seata-server-1.7.1.zip2、启动 双击 seata-server.bat3、启动 seata 控制台用户界面4、所有分布式事务相关数据库要有undo-log5、项目引入seata依赖6、项目添加seata配置7、代码实现&#xff1a; 1、解压 seata-server-1.7.1.zip 2、启动 双击 seata-server.…...

docker容器和宿主机网络不通

防火墙未开启&#xff0c;检查网络配置无异常 解决&#xff1a; [rootlocalhost ~]# vim /etc/sysctl.confnet.bridge.beidge-nf-call-iptables 1 net.bridge.beidge-nf-call-ip6tables 1[rootlocalhost ~]# sysctl -p [rootlocalhost ~]# systemctl restart docker 如果网…...

编程学习之旅:高效记录与整理笔记的艺术

引言&#xff1a;知识的海洋与导航的灯塔 在编程的浩瀚星空中&#xff0c;每一位学习者都像是勇敢的航海家&#xff0c;驾驶着知识的帆船&#xff0c;在无尽的信息海洋中探索未知的领域。然而&#xff0c;这片海洋既充满了机遇&#xff0c;也潜藏着挑战。信息的过载、知识的碎…...

dev c++中,在C++11模式下编译带M_PI宏的文件报错的解决办法

一、问题描述 当使用C11的模式&#xff0c;编译引用了math库中的M_PI的源文件时&#xff0c;报M_PI未声明的错误。 二、问题原因 因为M_PI是GNU扩展的宏&#xff0c;它不属于C11的标准&#xff0c;而-stdc11&#xff0c;表示以C11的标准进行编译&#xff0c;因此会产生以上问…...

【ubutnu24.04】k8s部署2:摸索修复问题

1.30.0 一直init失败有人说版本兼容问题重新安装了最新的1.31.0 版本kubeadm init 仍旧失败。安装依赖项 sudo apt-get install -y apt-transport-https ca-certificates curl gpgroot@PerfSvr:/home/zhangbin/perfwork/k8sadmin# sudo apt-get install -y apt-transport-https…...

处理JSON数据时遇到的解析错误:“Unexpected character (`“`)”

问题背景 在开发过程中&#xff0c;经常会遇到需要解析JSON数据的情况。然而&#xff0c;在某些情况下&#xff0c;可能会遇到类似“Unexpected character (")”这样的错误。本文将详细介绍该错误的原因、如何诊断以及解决方法。 错误示例 以下是一个典型的错误信息示例…...

RDKit|分子输入输出格式解析(如 SMILES、Mol、SDF)

2.3 分子输入输出格式解析(如 SMILES、Mol、SDF) 在化学信息学中,分子的表示方式有很多种,常见的包括 SMILES、Mol 文件、SDF 文件等。RDKit 支持对这些格式的分子数据进行解析和处理,这使得它在化学和药物设计领域得到了广泛应用。本节将介绍如何在 RDKit 中解析和操作这…...

【模电笔记】——反馈放大电路

tips&#xff1a;本章节的笔记已经打包到word文档里啦&#xff0c;建议大家下载文章顶部资源&#xff08;有时看不到是在审核中&#xff0c;等等就能下载了。手机端下载后里面的插图可能会乱&#xff0c;建议电脑下载&#xff0c;兼容性更好且易于观看&#xff09;&#xff0c;…...

【面试题】Redis缓存问题全解:击穿、雪崩与穿透

文章目录 Redis缓存问题全解&#xff1a;击穿、雪崩与穿透引言1. 缓存击穿&#xff08;Cache Penetration&#xff09;2. 缓存雪崩&#xff08;Cache Avalanche&#xff09;3. 缓存穿透&#xff08;Cache Penetration&#xff09; 总结1. 缓存击穿&#xff08;Cache Penetratio…...

676. 实现一个魔法字典

676. 实现一个魔法字典 题目链接&#xff1a;676. 实现一个魔法字典 代码如下&#xff1a; class MagicDictionary { public:MagicDictionary() {}void buildDict(vector<string> dictionary) {wordsdictionary;}bool search(string searchWord) {for(const auto&…...

Spring Boot 入门以及对微服务的理解

目录 1.Spring Boot 简介 1.1什么是自动装配 1.2什么是内嵌Tomcat 2.微服务 2.1单体应用系统 2.2分布式应用系统 2.3微服务 2.3.1什么是微服务 微服务有哪些优点 微服务有哪些缺点 2.3.2为什么选择微服务 1.Spring Boot 简介 Spring Boot 是简化 Spring 应用开发的…...

仿RabbiteMq实现简易消息队列正式篇(需求分析)

TOC 目录 MQ的实现方法 RabbitMq中的相关概念 消息队列系统模块划分 总体划分 服务端模块 数据管理模块 虚拟机数据管理模块 交换机路由模块 消费者管理模块 信道&#xff08;通信&#xff09;管理模块 连接管理模块 服务端BrokerServer模块 客户端模块 消费者管…...

Python酷库之旅-第三方库Pandas(082)

目录 一、用法精讲 341、pandas.Series.str.startswith方法 341-1、语法 341-2、参数 341-3、功能 341-4、返回值 341-5、说明 341-6、用法 341-6-1、数据准备 341-6-2、代码示例 341-6-3、结果输出 342、pandas.Series.str.strip方法 342-1、语法 342-2、参数 …...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...