24.python基础(8.8)
python基础
1.搭建环境python3
1.查看是否有安装python
[root@python1 ~]# yum list installed |grep python
2.安装python3
[root@python1 ~]#yum -y install python3 [root@python1 ~]#python --version #查看版本信息 最新安装3.12,可以使用源码安装
开发工具
1.安装自带的ide
2.pycharm
3.anaconda
3.进入python编辑状态
修改pip镜像为清华
[root@python1 ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead. Collecting some-packageDownloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/a2/d318a685319c3801db1ae0002fc8e095663a55546c62a6e30d9d0fc3289b/some-package-0.1.zip Installing collected packages: some-packageRunning setup.py install for some-package ... done Successfully installed some-package-0.1
[root@python1 ~]# python3 >>> print("hello world") hello world >>> a=3 >>> b="abc" >>> type(a) #type:字符串类型 <class 'int'> >>> type(b) <class 'str'> >>>quit() #退出python
2.变量和数据类型
三大类数据类型
1.字符
字符串(str)
>>> b='yjj'; >>> b 'yjj' >>> type(b) <class 'str'>
2.数值
整数(int),浮点型( float)
>>> c=3 >>> c 3 >>> type(c) <class 'int'> >>> d=3.14 >>> d 3.14 >>> type(d) <class 'float'>
3.逻辑
True,False
>>> flag=True >>> print(flag); True >>> print(1==1); True >>> print(1!=1); False
>>> name1="张三" >>> name2="李四" >>> name3="王五" >>> print(name1,name2,name3) 张三 李四 王五 >>> name1 '张三' >>> name2 '李四' >>> name3 '王五'
3.数据集合
1.使用数据集合批量管理内存空间
2.[]列表,{}字典,()元组
3.list()可以吧dict的key生成一个列表
4.list可以吧tupl变成列表
5.tupl可以吧dic和list变成元组
{ "method":"post","username":"abc","password":"123","params":[1,2,3],"cntroller":"login" }
1.列表
1.使用最广泛的一个集合工具
2.是java中数组和list的综合体
3.list #有序
4.当有多个数据需要
5.管理列表
#python为开发提供丰富的使用感手册 help(lista) #通过上下方向,enter,space键来翻阅信息,使用q退出查看 more less #创建列表 lista=[] listc=[1,2,3] #修改列表 #追加元素 lista.append(item) #在所有元素之后添加元素 #插入元素 liatb.insert(pos,item)#这pos序列号之前插入item
#删除元素remove和pop list.pop() #删除list中的最后一个元素 list.remove(list[index]) #删除学号为index的元素
#修改元素 list[index]=newvalue #del list >>> listb.append("jerry") >>> listb ['lisi', 'jerry'] >>> print(listb) ['lisi', 'jerry'] >>> listb[0] 'lisi' >>> listb[1] 'jerry' >>> listb[0]='tom' >>> listb ['tom', 'jerry']
>>> a=[1,3,5,6,8] >>> a [1, 3, 5, 6, 8] >>> a[0] 1 >>> print(a[0]) 1
#插入元素 >>> a [1, 3, 5, 6, 8] >>> a.remove(a[3]) >>> a [1, 3, 5, 8] >>> a.append(12) >>> a [1, 3, 5, 8, 12]
2.字典
1.dict
2.dirctionary
3.key-value,键值对
4.{“name”:“袁佳佳”,“age”,“21”,“gender”,“male”}
5.键:值
{"from":"me""to":"you""message":"你吃饭了嘛:""time":"2024-8-8 10:45""user":{"username":"abc""password":"abc"} }
>>> dict0={ #无序的 ... "id":1, ... "username":"abc", ... "password":"123" ... }
#删除数据 >>> dict0["realname"]="yjj" >>> dict0 {'id': 1, 'username': 'abc', 'password': '123', 'realname': 'yjj'} >>> dict0.pop("id") 1 >>> dict0 #在原先的中修改 {'username': 'abc', 'password': '123', 'realname': 'yjj'}
#修改数据 >>> dict0["password"]="123456" >>> dict0 {'username': 'abc', 'password': '123456', 'realname': 'yjj'}
>>> a [1, 3, 5, 8, 12] >>> a.append(dict0) >>> a [1, 3, 5, 8, 12, {'username': 'abc', 'password': '123456', 'realname': 'yjj'}] >>> dict0["other"]=a >>> dict0 {'username': 'abc', 'password': '123456', 'realname': 'yjj', 'other': [1, 3, 5, 8, 12, {...}]}
>>> a=[1,2,3] >>> a [1, 2, 3] >>> b={"username":"abc","password":"123"} >>> b {'username': 'abc', 'password': '123'} >>> a.append(b) SyntaxError: invalid syntax >>> b["a"]=a >>> a [1, 2, 3, {'username': 'abc', 'password': '123', 'a': [...]}] >>> b {'username': 'abc', 'password': '123', 'a': [1, 2, 3, {...}]}
#列表所有元素 >>> dict0.items() dict_items([('username', 'abc'), ('password', '123456'), ('realname', 'yjj'), ('other', [1, 3, 5, 8, 12, {'username': 'abc', 'password': '123456', 'realname': 'yjj', 'other': [...]}])]) >>>
3.元组
当在列表中删除或修改一个元素使,列表会返回新的列表
元组不能更改,只能查看
>>> tupl0=(1,2,3,4) >>> tupl0 #查看 (1, 2, 3, 4) >>> tupl0[0] #查看某一个 1 >>> tupl0[1] 2
#将元组写入list列表 >>> list(tupl0) [1, 2, 3, 4] >>> aa=list(tupl0) >>> aa [1, 2, 3, 4] >>>
4.选择语句和循环语句
1.选择语句
1.必须缩进
[root@python1 ~]# vim py001.py if True:print("i am true") else:print("i am false") [root@python1 ~]# python3 py001.py i am true
2.if
if condition0:statement0;if condtion1:block1;else:block2; else:statement1;
>>> n=58 >>> if n>90: ... print("优秀") ... elif n>80: ... print("良好") ... elif n>70: ... print("中等") ... elif n>60: ... print("及格") ... else: ... print("不及格") ... 不及格
[root@python1 ~]# vim py002.py 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("不及格"); [root@python1 ~]# python3 py002.py 随机分数为: 56 不及格 [root@python1 ~]# python3 py002.py 随机分数为: 68 及格 [root@python1 ~]# python3 py002.py 随机分数为: 32 不及格 [root@python1 ~]# python3 py002.py 随机分数为: 61
[root@python1 ~]# vim py003.py import random n=random.randint(50,100); print("随机数为",n) if n>90:print("优秀") else:if n>80:print("良好")else:if n>70:print("中的")else:if n>59:print("及格")else:print("不及格") [root@python1 ~]# python3 py003.py 随机数为 98 优秀
2.循环语句
for
for var in list:print (var)
>>> range(9) range(0, 9) >>> list(range(9)) [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> for i in range(9): ... print (i) ... 0 1 2 3 4 5 6 7 8
[root@python1 ~]# vim py004.py n=0 for i in range(101):n=n+1 print(n) [root@python1 ~]# python3 py004.py 101
[root@python1 ~]# vim py004.py n=0 for i in range(101): #0-100,101取不到n=n+i print(n) [root@python1 ~]# python3 py004.py 5050
3.在列表中遍历循环
>>> for var in ["a","b","c"]: ... print(var) ... a b c >>> a=["e","f","g","h"] >>> for var in a: ... print(var) ... e f g h
4.在字典中遍历
>>> d={"id":1001,"name":"张三","age":18,"gender":"女"} >>> d {'id': 1001, 'name': '张三', 'age': 18, 'gender': '女'} >>> for var in d: ... print(var)#根据可以返回对应的value值 ... id name age genderprint(d)#将d这个字典中的key都输出
#只输出值 >>> for var in d: ... print(var,"-",d[var]) ... id - 1001 name - 张三 age - 18 gender - 女
5.元组中的遍历
>>> 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整除
6.while循环
while condition:blocak#comtinue,break;
#1-100的累加 >>> n=0 >>> i=1 >>> while i<101: ... n+=i ... i+=1 ... >>> n 5050
7.break,continue也可以应用与for
while Ture:print("abc")break while Ture:if i==3:continuei+=1
#指令 vim 001.py #执行python脚本 python3 001.py #调试py脚本 python3 -m pdb 001.py #输入n按回车执行下一行代码 #输入q推出调试
#生产随机数python import random n=random.randint(1,10) #创建目录 import os os.mkdir("/opt/aaa/")
相关文章:

24.python基础(8.8)
python基础 1.搭建环境python3 1.查看是否有安装python [rootpython1 ~]# yum list installed |grep python 2.安装python3 [rootpython1 ~]#yum -y install python3 [rootpython1 ~]#python --version #查看版本信息 最新安装3.12,可以使用源码安装 开…...

【论文阅读】MobileNetV4 - Universal Models for the Mobile Ecosystem
文章目录 摘要一、介绍二、相关工作三、与硬件无关的帕累托效率四、通用倒置瓶颈五、移动MQA六、MNv4模型的设计6.1 为增强的体系结构改进NAS6.2 MNv4模型的优化 7. 结果7.1 ImageNet分类7.2 COCO目标检测 8. 强化蒸馏配方9. 结论 MobileNetV4 - 移动生态系统的通用模型 摘要 …...
大模型日报 2024-08-07
大模型日报 2024-08-07 大模型资讯 [Figure AI 把「终结者」造出来了] 简介:Figure 发布新一代人形机器人 Figure 02,具多种功能,能实时对话、自主执行任务,导航用 VLM,电池续航提升,机械手先进,…...
区块链ddos防护怎么做
区块链ddos防护怎么做?在区块链这一新兴技术的浪潮中,我们见证了无数创新应用的诞生与繁荣。然而,在这片充满机遇的蓝海中,也潜藏着不容忽视的暗流——分布式拒绝服务攻击(DDoS)。DDoS攻击,如同网络世界的…...

在Linux中认识pthread库
int *pnullptr; pnullptr; *pnullptr; 指针变量做右值也是变量拥有空间。去承装数据。 *p代表指针所指向的空间,及0号地址,及往虚拟地址的0号地址处写8个字节的数据,全部写为0. (此操作不允许) 进程和线程的关系如…...

LVS 负载均衡
目录 LVS 体系结构 LVS 相关概念术语 lvs 集群常见类型 实验一: LVS NAT模式 LVS NAT特性 实验二: LVS DR模式 LVS DR特性 LVS是Linux virtual server的缩写,是一个高性能的、开源的负载均衡器,它运行于Linux操作系统之上…...

在Excel中启用宏 (~ ̄▽ ̄)~
一、启用宏 打开任意Excel,点击屏幕左上角的文件选项,然后选择Excel选项窗口。在Excel选项窗口中,选择信任中心按钮;在信任中心设置窗口中,选择宏设置,启用所有宏(不推荐,潜在风险&a…...

连接投影仪/显示器只能扩展不能复制的解决方案
原文章:https://iknow.lenovo.com.cn/detail/121481 故障现象: 笔记本外接投影仪/显示器后,笔记本屏幕有显示,但投影仪却只有背景或没有显示; 原因分析: 此现象多发生在双显卡机型上,笔记本屏…...

数据库基础知识
数据库基础知识 主流的数据库连接MySQL理解mysql和mysqld和数据库简单对数据库操作MySQL构架SQL分类存储引擎总结 主流的数据库 SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。Oracle: 甲骨文产品,适合大型项目…...
java JVM 锁消除
Java虚拟机 (JVM) 中的锁消除 (Lock Elimination) 是一种编译时优化技术,用于减少或完全去除不必要的同步操作。锁消除可以显著提高程序的性能,尤其是在多线程环境中。下面详细介绍锁消除的工作原理和技术细节。 锁消除的目的 锁消除的目标是在编译阶段…...
基于 Java Supplier与Predicate 封装自动重试机制通用接口
核心逻辑就是把重试的业务与重试中断条件抽象出来函数化,内部重试业务具体化。 关键需要理解Java的函数式接口编程 Supplier 与 Predicate作用。 import lombok.Data; import lombok.extern.slf4j.Slf4j;import java.util.Random; import java.util.function.Predi…...
Java面试题(基础篇)②
目录 一,float f3.4 是否正确? 二,重写和重载的区别是什么 三,this和super的应用场景是什么 四,throw和throws的区别是什么 五,应该使用什么数据类型来计算价格 一,float f3.4 是否正确&am…...

【docker快捷部署系列二】用docker-compose快速配置多个容器,docker部署Springboot+Vue项目和mysql数据库
1、思路 docker部署项目是将项目的不同程序放入不同容器中运行,这样可以方便管理不同程序。我的项目有Springboot、Vue、mysql三部分,Vue用nginx代理,因为nodejs太占空间了。一开始我是用Dockerfile创建镜像再运行容器的,但发现它…...

Java新手指南:从菜鸟到编程大师的趣味之路-类和对象
这里是Themberfue 本章主要介绍的是Java最重要的面向对象(OOP)的基础 面向对象 Java是一门纯面向对象的语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用…...

计算机毕业设计选题推荐-房屋租赁系统-Java/Python项目实战
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
LeetCode 3131.找出与数组相加的整数 I:最小值之差(多语言一行版)
【LetMeFly】3131.找出与数组相加的整数 I:最小值之差(多语言一行版) 力扣题目链接:https://leetcode.cn/problems/find-the-integer-added-to-array-i/ 给你两个长度相等的数组 nums1 和 nums2。 数组 nums1 中的每个元素都与…...

Win32注册表操作
注册表的概念 注册表是一个存储计算机配置信息的数据库,用于存储计算机上的硬件、安装的软件、系统设置以及用户账户配置等重要信息。对注册表的编辑不当可能会影响计算机的正常运行。应用程序可以调用API函数来对注册表进行增、删等操作。 注册表结构 运行Regedi…...
白骑士的PyCharm教学高级篇 3.3 Web开发支持
系列目录 上一篇:白骑士的PyCharm教学高级篇 3.2 多模块项目管理 在现代Web开发中,前端技术的重要性日益增加。PyCharm不仅在后端开发中表现出色,在前端开发方面也提供了丰富的支持。本文将详细介绍PyCharm中对HTML、CSS、JavaScript的编辑支…...

SpringAOP-底层实现源码解析
目录 1. Spring AOP原理流程图 2. 动态代理 3. ProxyFactory 4. Advice的分类 5. Advisor的理解 6. 创建代理对象的方式 ProxyFactoryBean BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator 7. 对Spring AOP的理解 8. AOP中的概念 9. Advice在Spring AOP中…...

【C语言初阶】C语言操作符全攻略:提升编程效率的关键步骤
📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C语言 “ 登神长阶 ” 🤡往期回顾🤡:C语言数组 🌹🌹期待您的关注 🌹🌹 ❀操作符 📒1. 算术操作…...
Git 教程 | 如何将指定文件夹回滚到上一次或某次提交状态(命令详解)
在日常开发中,我们经常会遇到这样的情况: “我想把某个文件夹恢复到之前的状态,但又不想影响整个项目,怎么办?” 别担心!这篇文章就教你如何用 Git 把项目中某个特定文件夹(或文件)回…...

【办公类-18-07】20250527屈光检查PDF文件拆分成多个pdf(两页一份,用幼儿班级姓名命名文件)
背景需求: 今天春游,上海海昌公园。路上保健老师收到前几天幼儿的屈光视力检查单PDF。 她说:所有孩子的通知都做在一个PDF里,我没法单独发给班主任。你有什么办法拆开来? 我说:“没问题,问deep…...
支持selenium的chrome driver更新到137.0.7151.55
最近chrome释放新版本:137.0.7151.55 如果运行selenium自动化测试出现以下问题,是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only su…...
让大模型看得见自己的推理 — KnowTrace结构化知识追踪
让大模型“看得见”自己的推理 —— KnowTrace 结构化知识追踪式 RAG 全解析 一句话概括:把检索-推理“改造”成 动态知识图构建任务,再让 LLM 只关注这张不断精炼的小图 —— 这就是显式知识追踪的核心价值。 1. 背景:为什么 RAG 仍难以搞定多跳推理? 长上下文负担 传统 I…...
leetcode216.组合总和III:回溯算法中多条件约束下的状态管理
一、题目深度解析与组合约束条件 题目描述 找出所有相加之和为n的k个数的组合,且满足以下条件: 每个数只能使用一次(范围为1到9)所有数字均为唯一的正整数组合中的数字按升序排列 例如,当k3,n9时&#…...

用QT写一个车速表
主要包含以下绘制步骤: 1、绘制画布: /** 绘制画布 */ void Widget::initCanvas(QPainter &painter) {//消除锯齿painter.setRenderHint(QPainter::Antialiasing,true);//设置底色painter.setBrush(QColor(0,0,0));painter.drawRect(rect());//平移…...

利用计算机模拟和玉米壳废料开发新型抗病毒药物合成方法
参阅:Top 创新大奖 这个课题将农业废弃物资源化利用、计算机辅助药物设计和绿色化学完美结合,是一个极具创新性和应用前景的研究方向! 以下是如何利用计算机模拟和玉米壳废料开发新型抗病毒药物合成方法的系统思路: 核心思路 玉…...

vue3 导出excel
需求:导出自带格式的excel表格 1.自定义二维数组格式 导出 全部代码: <el-button click"exportExcel">导出</el-button> const exportExcel () > {const data [[商品, 单价, 数量, 总价],[A, 100, 1.55, { t: n, f: B2*C2…...
体现物联网环境下安全防护的紧迫性 :物联网环境下的个人信息安全:隐忧与防护之道
摘要:随着物联网的飞速发展,个人信息在物联网环境下面临的安全风险日益严峻。本文深入探讨了物联网环境下个人信息泄露的主要途径,分析了当前个人信息安全保护面临的挑战,并从技术、法律、企业责任和个人意识等多方面提出了相应的…...
CQF预备知识:Python相关库 -- NumPy 基础知识 - 通用函数
文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。 通用函数 另请参阅 通用函数(ufunc) 通用函数(或简称 ufunc)是一种对 ndarrays 进行逐元素操…...