python运维(twenty-four day)

一、python基础

1、环境python2、python3

python 复制代码
[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

python 复制代码
>>> b='zhangin'
>>> b
'zhangin'
>>> type (b)
<class 'str'>

数值 整数,浮点

int

float

python 复制代码
>>> c=3
>>> c
3
>>> type(c)
<class 'int'>
>>> d=3.14
>>> d
3.14
>>> type(d)
<class 'float'>

逻辑 True | False

python 复制代码
>>> flag=True
>>> print(flag);
True
>>> print(1==1);
True
>>> print(1!=1)
False
python 复制代码
>>> 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 > > 当有多个数据管理,可以定义一个列表 > > ```python > >>> lista=["李四","王五","小江","蛋蛋"] > >>> type(lista) > > >>> 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 "", line 1, in > NameError: name 'listb' is not defined > >>> listb=["tom","jerry"] > >>> listb > ['tom', 'jerry'] > >>> listb.pop > > >>> listb > ['tom', 'jerry'] > >>> listb.pop() > 'jerry' > >>> listb > ['tom'] > #当在列表中删除或者修改一个元素的时候,列表会返回新的列表 > ``` > > ④管理列表 > > ```python > #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"} > > 键:值 ```python { "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"]=a File "", line 1 b.["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中提取,也可以将列表直接转成元组 | 创建空元组,创建有初始值的元组 |
[总结]

python 复制代码
>>> 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
单分支
python 复制代码
if condition0:
    statement0;
else:
    statement1;


>>> if True:
...     print("i am true")
... else:
...     print("i am false")
... 
i am true
多分支
python 复制代码
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("不及格")
嵌套
python 复制代码
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
python 复制代码
for var in list:
    print("var")


for var in list:
    print(var)

for i in range(101): #0-100
    n=n+i
    print(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)
​在列表中遍历
python 复制代码
>>> for var in ["a","b","c"]:
...     print(var)
... 
a
b
c
>>> a=["e","f","g"]
>>> for var in a:
...     print(var)
... 
e
f
g
在字典中循环遍历
python 复制代码
>>> 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
男
在元组里面遍历
python 复制代码
>>> tup10=("a","b","e")
>>> for var in tup10:
...     print (var)
... 
a
b
e
案例(0-100之间可以被7整除的数)
python 复制代码
>>> 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
python 复制代码
while condition:
    block
    #continue,break;   也可以应用于for
python 复制代码
>>> 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
#卡住
相关推荐
面朝大海,春不暖,花不开5 分钟前
管理数据洪流:自动化处理与归档每日数据文件的策略与实践
运维·python·自动化
地衣君7 小时前
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
linux·ubuntu·risc-v
5:007 小时前
云备份项目
linux·开发语言·c++
码农101号8 小时前
Linux中shell编程表达式和数组讲解
linux·运维·服务器
powerfulzyh8 小时前
非Root用户启动SSH服务经验小结
运维·ssh
云道轩8 小时前
升级centos 7.9内核到 5.4.x
linux·运维·centos
是小满满满满吗8 小时前
传输层:udp与tcp协议
linux·服务器·网络
爱学习的小道长8 小时前
Ubuntu Cursor升级成v1.0
linux·运维·ubuntu
EelBarb8 小时前
seafile:ubuntu搭建社区版seafile12.0
linux·运维·ubuntu
Xam_d_LM8 小时前
【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
linux·ubuntu·科研·矢量图·drawio