上午
python开发工具:
1、安装自带的ide
2、pycharm(付费)
3、anaconda
1、环境 python2内置,需要换为python3
[root@3 ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package //切换国内下载[root@3 ~]# yum list installed | grep python[root@3 ~]# yum list installed | grep epel[root@3 ~]# yum list | grep python3[root@3 ~]# yum -y install python3.x86_64[root@3 ~]# python3 --versionPython 3.6.8#最新版3.12版可以使用源码安装[root@3 ~]# python3 #进入到python的编辑状态Python 3.6.8 (default, Nov 14 2023, 16:29:52) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> print("hello world")hello world#如果直接输入python,会直接进入到python2中
2、变量和数据类型
1、三大类数据类型
字符 字符串str
数值 整数int,浮点float
逻辑 True False(注意首字母大写)
>>> print(1==1)True>>> print(1!=1)False>>> b='zhangsan'>>> type(b)<type 'str'>>>> c=3>>> type(c)<type 'int'>>>> d=3.14>>> type(d)<type 'float'>
3、数据集合
计算是在python内存中计算的,必须要有指定内存空间保存数据
这些内存空间其实就是变量(a,b,c)
我们使用数据集合批量管理内存空间
[]列表,{}字典,()元组
(1)列表
在python中列表是使用最为广泛的一个数据集合工具
是java中数组和list的综合体
当有多个数据需要管理,可以定义一个列表(管理列表)
# python为开发提供了丰富的使用手册help(lista) #通过上下方向,enter,space键来翻阅信息,使用q退出查看 more less# 创建列表lista=[]listc=[1,2,3]# 修改列表# 追加元素lista.append(item) #在所有元素之后添加元素# 插入元素listb.insert(pos,item) #在pos序号之前插入item# 删除元素 remove 和 poplist.pop() #删除list中的最后一个元素list.remove(list[index]) #删除序号为index的元素# 修改元素list[index]=newvalue# 删除列表del list
练习:
>>> listb=["tom","jerry"]>>> listb['tom', 'jerry']>>> listb.append("tomcat")>>> listb['tom', 'jerry', 'tomcat']>>> listc=["tom","jerry"]>>> listc.pop()'jerry'>>> listc['tom']>>> listd=listb.pop()>>> listd'tom'>>> liste=listb.pop()Traceback (most recent call last):File "<stdin>", line 1, in <module>IndexError: pop from empty list>>> listb[]# 当在列表中删除或者修改一个元素的时候,列表会返回新的列表>>> listb.append('lisi')>>> listb.append('zhangsan')>>> listb.append('wangwu')>>> listb['lisi', 'zhangsan', 'wangwu']>>> listb[0]'lisi'>>> listb[1]'zhangsan'>>> listb[2]'wangwu'>>> listb.remove(listb[1])>>> listb['lisi', 'wangwu']
(2)字典
dict
dictionary
key-value 键值对
{"name":"张三","age":"19","gender":"male","height":"145","weight":"180"}
健:值 如下:
{"from":"me","to":"you","message":"你吃饭了吗?","time":"2024-7-8 9:00:32","user":{"username":"abc","password":"abc"}}
# 创建字典dict0={健:值,健:值}# 追加元素dict0["健"]="值"# 删除元素dict0.pop("健")# 修改元素dict0["存在的健"]="修改后的值"
练习:
>>> dict0={... "id":1,... "username":"abc",... "password":"123"... }>>> help(dict0)>>> dict0{'id': 1, 'username': 'abc', 'password': '123'}>>> dict0["realname"]="zhangsan">>> dict0{'id': 1, 'username': 'abc', 'password': '123', 'realname': 'zhangsan'}>>> dict0.pop("id")1>>> dict0{'username': 'abc', 'password': '123', 'realname': 'zhangsan'}>>> dict0["password"]="123456">>> dict0{'username': 'abc', 'password': '123456', 'realname': 'zhangsan'}# list列表与dict字典嵌套>>> a=[1,2,3]>>> b={"username":"abc","password":"abc"}>>> a[1, 2, 3]>>> b{'username': 'abc', 'password': 'abc'}>>> a.append(b)>>> b["a"]=a>>> a[1, 2, 3, {'username': 'abc', 'password': 'abc', 'a': [...]}]>>> b{'username': 'abc', 'password': 'abc', 'a': [1, 2, 3, {...}]}
(3)元组
不能修改,只可以查看
tuple[index],list(tuple),tuple(list)
list()可以把dict的key生成一个列表
list()可以把tupl变成列表
tupl可以把dict和list变成元组
功能 | 指令 | 说明 |
---|---|---|
创建列表 | [] | 符号本身就是列表 |
list(元组) | 将元组转成列表 | |
list(字典) | 提取字典的key转成列表 | |
字典.keys() | 字典中的key返回一个列表 | |
字典.values() | 字典中的value组成的列表 | |
字典.items() | 字典中的每个k-v组成元组,这些元组组成一个新的列表 | |
修改列表 | l.inster(index,value) | 在索引值为index的元素之前插入一个元素 |
l.append(value) | 在所有元素之后添加一个元素 | |
l[index]=value | 将索引为index元素的值修改为value | |
l.pop() | 删除最后一个元素 | |
del l | 释放l内存 | |
查看列表 | l | 显示列表中的所有数据 |
l[index] | 返回索引值为index的元素 | |
字典的创建 | {} | 代表一个空字典 |
{k0:v0,k2:v2.....} | 这是有初始值的字典 | |
dict([(k0,v0),(k1,v0),(k2,v2)]) | []中的每一个()中都有2个值,一个是key,一个是value自动解析为一个字典了 | |
元组 | (),(1,2,3,4) | 创建空元组,创建有初始值的元组 |
也可以从dict中提取,也可以将列表直接转换成元组 |
登录信息返回的键值对:
{"method":"post","username":"abc","password":"123","params":[1,2,3],"cntroller":"login"}
4、选择语句和循环语句
(1)if选择语句
缩进是必须的 (一个tab健或者四个空格)
if condition0:statement0if condition1:block1else:block2else:statement1
多分支if语句
if condition0:block0elif condition1:block1elif condition2:block2...else:blockn
练习:
[root@3 ~]# vim py001.pyif True:print("i'm true")else:print("i'm false")[root@3 ~]# python3 py001.py i'm true>>> n=58>>> if n>90:... print("优秀")... elif n>80:... print("良好")... elif n>70:... print("中等")... elif n>60:... print("及格")... else:... print("不及格")... 不及格[root@3 ~]# vim py002.pyimport randomn=random.randint(0,100)print("随机分数为:",n)if n>90:print("优秀")elif n>80:print("良好")elif n>70:print("中等")elif n>60:print("及格")else:print("不及格")[root@3 ~]# python3 py002.py随机分数为: 68及格[root@3 ~]# vim py003.pyimport randomn=random.randint(50,100)print("随机数值为:",n)if n>90:print("youxiu")else:if n>80:print("lianghao")else:if n>70:print("zhongdeng")else:if n>60:print("jige")else:print("bujige")[root@3 ~]# python3 py003.py随机数值为: 93youxiu
(2)swith插槽
(3)input与print
>>> print("请输入您的选择")请输入您的选择>>> print("1、创建master,2、创建slave")1、创建master,2、创建slave>>> input("---:")---:1'1'>>> input("---:")---:2'2'
(3)for循环语句
练习:
>>> list=[1,2,3,4,5]>>> for var in list: #列表遍历... print(var)... 12345>>> for var in ["a","b","c"]: #列表遍历... print(var)... abc>>> d={"a":1,"b":2,"c":3} #字典遍历key>>> for var in d:... print(var)... abc>>> for var in d: #字典遍历value... print(d[var])... 123>>> tupl0=("a","b","c") #遍历元组>>> for var in tupl0:... print(var)... abc>>> range(9)range(0, 9)>>> list(range(9))[0, 1, 2, 3, 4, 5, 6, 7, 8]>>> for i in range(9):... print(i)... 012345678>>> for i in range(101):... n=n+i... >>> n5050[root@3 ~]# vim py004.pyn=0for i in range(101):n=n+iprint(n)[root@3 ~]# python3 py004.py 5050
(4)while循环语句(continue与break)
break和continue也可以应⽤于for
while condition:blocak#continue,break;
练习:
>>> i=0>>> while i<10:... i+=1... if i%2!=0:... continue... print(i)... 246810>>> c=0>>> while True:... print(c)... c+=1... if c==5:... break... 01234
5、常用的工具api
# 指令vim 001.py# 执⾏py脚本python3 001.py# 调试py脚本python3 -m pdb 001.py# 输⼊n按回⻋执⾏下⼀⾏代码# 输⼊q退出调试# 生成随机数import randomn=random.randint(0,10)#创建目录import osos.mkdir("/opt/aaa")
练习:
[root@3 ~]# python3 -m pdb py003.py> /root/py003.py(1)<module>()-> import random (Pdb) n> /root/py003.py(2)<module>()-> n=random.randint(50,100)(Pdb) n> /root/py003.py(3)<module>()-> print("随机数值为:",n)(Pdb) n随机数值为: 92......(Pdb) q>>> import random>>> n=random.randint(0,10)>>> n10>>> n=random.randint(0,10)>>> n4>>> import os>>> os.mkdir("/opt/aaa")>>> quit()[root@3 ~]# ls /optaaa