8.8-配置python3环境+python语法的使用
1.环境 python2 ,python3
[root@python ~]# yum list installed|grep python [root@python ~]# yum list installed|grep epel epel-release.noarch 7-11 @extras #安装python3 [root@python ~]# yum -y install python3 #查看python版本 [root@python ~]# python3 --version Python 3.6.8 #最新安装3.12 可以使用源码安装
2.进入到python的编辑状态
#直接输入python,也会进入到python2中
[root@python ~]# python3
Python 3.6.8 (default, Nov 14 2023, 16:29:52)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world")
hello world
>>> a=3
>>> b="abc"
>>> type(a)
<class 'int'>
>>> type(b)
<class 'str'>
>>> quit()
3.使用 pip3 安装软件包时指定清华源
[root@python ~]# 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
4.变量和数据类型
三大类数据类型
(1)字符:字符串
str
>>> b='haha'; >>> b 'haha' >>> type(b) <type 'str'>
(2)数值:整数,浮点
int float
>>> c=3 >>> c 3 >>> type(c) <type 'int'> >>> d=3.14 >>> d 3.14 >>> type(d) <type 'float'>
(3)逻辑:True,False
>>> flag=True >>> print(flag); True >>> print(1==1); True >>> print(1!=1); False
5.数据集合
[ ]-列表,{ }-字典 ,( )-元组
1.列表
有序
列表使用最为广泛的一个数据集合工具,是java中数组和list的综合体,当有多个数据需要管理,可以定义一个列表
管理列表
(1)创建列表
# 创建列表 #格式 lista=[] listc=[1,2,3] #练习 >>> lista=["张三","李四","王五","赵六"] >>> type(lista) <type 'list'> >>> lista ['\xe5\xbc\xa0\xe4\xb8\x89', '\xe6\x9d\x8e\xe5\x9b\x9b', '\xe7\x8e\x8b\xe4\xba\x94', '\xe8\xb5\xb5\xe5\x85\xad'] >>> listb=["tom","jerry"] >>> listb ['tom', 'jerry']
(2)帮助命令
#python为开发提供了丰富的使用手册 help(lista) #通过上下方向键,enter,空格键来翻阅信息,使用q退出查看
(3)修改列表
# 修改列表
# 追加元素
lista.append(item) # 在所有元素之后添加元素
#练习
>>> listb.append("tomcat")
>>> listb
['tom', 'jerry', 'tomcat']
# 插入元素
listb.insert(pos,item) #在pos序列号之前插入item
#练习
>>> listb.insert(1,"haha")
>>> listb
['tom', 'haha', 'jerry', 'tomcat']
(4)删除元素
# 删除元素remove和pop
#格式
list.pop() #删除list中的最后一个元素
#练习
>>> listb=["tom","jerry"]
>>> listb
['tom', 'jerry']
>>> listb.pop()
'jerry'
>>> listb
['tom']
>>> listc=listb.pop() #表示删掉listb中的tom
>>> listc
'tom'
>>> #当在列表中删除或者修改一个元素的时候,列表会返回新的列表
...
>>> listb
[]
#格式
list.remove(list[index]) #删除序号为index的元素
#练习
>>> listb.append("lllll")
>>> listb.append("lisi")
>>> listb
['lllll', 'lisi']
>>> listb.remove('lisi')
>>> listb
['lllll']
>>> listb.append("lllll")
>>> listb.append("lisi")
>>> listb
['lllll', 'lllll', 'lisi']
>>> listb[0]
'lllll'
>>> listb[1]
'lllll'
>>> listb[2]
'lisi'
>>> listb[3]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> listb.remove(listb[0])
>>> listb
['lllll', 'lisi']
>>> listb.remove(listb[0])
>>> listb
['lisi']
(5)修改元素
# 修改元素
# 格式
list[index]=newvalue
# 练习
>>> listb.append("jerry")
>>> print(listb)
['lisi', 'jerry']
>>> listb[0]
'lisi'
>>> listb[0]='tom'
>>> listb
['tom', 'jerry']
>>> listb[0]
'tom'
>>> listb[1]
'jerry'
>>> listb[1]='tom'
>>> listb[1]
'tom'
>>> listb
['tom', 'tom']
(6)删除列表
# 删除列表 #格式 del list #练习 >>> del listb >>> listb #listb中的数据全都被删掉了 Traceback (most recent call last):File "<stdin>", line 1, in <module> NameError: name 'listb' is not defined
2.字典
无序
1.dict
2.dictionary
3.key-value 键值对
4{”name“:"haha","age":"18","gender":"male","height:"145"}
5.键:值
{"from":"me","to":"you","message":"你吃饭了吗?","time":"2024-7-8 9:00:32""user":{"username":"abc""password":"abc"}
}
3.元组
有序,不能修改,可以查看
查看:tuple[index]
修改:将元组改为列表 list(tuple)
tup10=(1,2,3,4)
tup10
>>> tup10=(1,2,3,4)
4.总结
| 功能 | 指令 | 说明 |
|---|---|---|
| 创建列表 | [ ] | 符号本身就是列表 |
| list(元组) | 将元组转成列表 | |
| list(字典) | 提取字典的key转成列表 | |
| 字典.keys() | 字典中的key返回一个列表 | |
| 字典.values() | 字典中的value组成列表 | |
| 字典.Items() | 字典中的每个键值对组成员组,每个元组组成一个新的列表 | |
| 修改列表 | L.insert(index,value) | 在索引值为index的元素之前添加一个元素 |
| L.append(value) | 在所有元素之后添加一个元素 | |
| L[index]=value | 将索引为index元素的值修改为value | |
| L.pop() | 删除最后一个元素 | |
| del L | 释放L内存 | |
| 查看列表 | L | 显示列表中的所有数据 |
| L[index] | 返回索引值为index的元素 | |
| 字典的创建 | { } | 代表一个空字典 |
| {k0:v0,k1:v1...} | 这是有初始值的列表 | |
| dict([(k0,v0),(k1,v0),(k2,v2)]) | [ ]中的每个()中都有两个值,一个是key,一个是value,自动解析为一个字典了 | |
| 元组 | (),(1,2,3,4) | 创建空元组,创建有初始值的元组 |
| 也可以从dict中提取,也可以将列表直接转成元组 |
6.循环语句和选择语句
1.选择语句
>>> if True:
... print("i'm true")
... else:
... print("i'am false")
...
i'm true
缩进是必须的
缩进前:
[root@python ~]# vim py001.py
if True:
print("i'm true")
else:
print("i'm false")
[root@python ~]# python3 py001.py File "py001.py", line 2print("i'm true")^
IndentationError: expected an indented block
缩进后:
[root@python ~]# vim py001.py
if True:print("i'm true")
else:print("i'm false")
[root@python ~]# python3 py001.py
i'm true
if
嵌套
# 语法 if condition0:statement0;if condition1:block1;else:block2;else:statement1;
多分支
# 语法 if condition0:block0 elif condition1:block1 elif condition2:block2 ... else:blockn
练习
在vim中写
[root@python ~]# 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@python ~]# python3 py002.py
随机分数为: 65
及格
[root@python ~]# python3 py002.py
随机分数为: 88
良好
在python3环境中写
>>> n=58
>>> if n>90:
... print("优秀")
... elif n>80:
... print("良好")
... elif n>70:
... print("中等")
... elif n>60:
... print("及格")
... else:
... print("不及格")
...
不及格
>>> quit()
2.循环语句
1.for
for var in list:print(var)
[root@python ~]# vim for.py n=0 for i in range(101): # 0-100n=n+iprint(n) # 1-100数字累加 [root@python ~]# python3 for.py 5050
#在列表中循环 >>> 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
#在字典中遍历
d={"id":1001,"name":"zhangsan","gender":"女","age":18}
for var in d:print(var) # 将d这个字典中的key都输出print(d[var]) #根据key返回对应的value值
for var in d.keys():print(var)print(d[var])
for var in d.values(): # 返回values值print(var)# 练习
>>> d={"id":1001,"name":"zhangsan","gender":"女","age":18}
>>> d
{'id': 1001, 'name': 'zhangsan', 'gender': '女', 'age': 18}
>>> for var in d:
... print(var)
...
id
name
gender
age
>>> for var in d.values():
... print(var)
...
1001
zhangsan
女
18
#元组中的遍历
>>> tupl0=("a","c","e")
>>> for var in tupl0:
... print(var)
...
a
c
e
随机数的循环
>>> 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整除
2.while
# 语法 while condition:block# continue,break;
1.1-100的累加
#1-100的累加 >>> n=0 >>> i=1 >>> while i<101: ... n+=i; ... i+=1 ... >>> n 5050
break和continue也可以使用于for
break:结束循环
>>> while True:
... print("abc")
... break
...
abc
#只循环一次
continue:结束本次循环
#死循环
>>> while True:
... print("abc")
... continue
>>> while True: ... if i==3: ... continue # 当i=3时,下面的语句不执行 ... print(i) ... i+=1 ... 1 2 #一直循环
在vim环境下写python的指令
#指令 vim 001.py #执行python脚本 python3 001.py #调试py脚本 python3 -m pdb 001.py # 输入n按回车执行下一条代码 # 输出q推出调试
在python3环境中生成随机数和创建目录
# 生成随机数
import random
n=random.randint(0,10)
#创建目录
import os
os.mkdir("/opt/aaa/")
5.选择语句和循环语句
6.常用的工具aip
相关文章:
8.8-配置python3环境+python语法的使用
1.环境 python2 ,python3 [rootpython ~]# yum list installed|grep python [rootpython ~]# yum list installed|grep epel epel-release.noarch 7-11 extras #安装python3 [rootpython ~]# yum -y install python3…...
高质量WordPress下载站模板5play主题源码
5play下载站是由国外站长开发的一款WordPress主题,主题简约大方,为v1.8版本, 该主题模板中包含了上千个应用,登录后台以后只需要简单的三个步骤就可以轻松发布apk文章, 我们只需要在WordPress后台中导入该主题就可以…...
【C++】类的概念与基本使用介绍
C类是面向对象编程(OOP)的基础,它允许我们将数据(属性)和行为(方法)封装在一起,形成一个自定义的数据类型。以下是C类的基本概念、特点、特性以及使用注意事项,最后会提供…...
基于Python和OpenCV的图像处理的轮廓查找算法及显示
文章目录 概要轮廓查找算法示例代码代码解释小结 概要 在图像处理中,轮廓查找是一个重要的步骤,它可以帮助我们识别图像中的形状和边界。Python结合OpenCV库可以非常方便地实现这一功能。本文将详细介绍如何使用Python和OpenCV来查找图像中的轮廓&#…...
使用ant design的modal时,发现自定义组件的样式(组件高度)被改变了!
一 问题描述 在项目中,自定义了一个组件,分别在界面和 antd的modal中都有使用到。但是突然发现,界面中的组件样式跟modal中的组件样式高度不一样。modal中的组件整体要比页面中的组件要高一点。 项目中的自定义组件比较复杂,因此&…...
NLP从零开始------8文本进阶处理之文本向量化
1. 文本向量化概述 随着计算机计算能力的大幅度提升,机器学习和深度学习都取得了长足的发展。NLP越来越多的通过应用机器学习和深度学习工具解决问题,例如通过深度学习模型从网络新闻报道中分析出关键词汇与舆论主题并构建关系图谱。在这种背景下&#x…...
【网络编程】字节序,IP地址、点分十进制、TCP与UDP的异同
记录学习,思维导图绘制 目录 1、字节序编辑 2、IP地址 3、点分十进制 4、TCP与UDP的异同 1、字节序 2、IP地址 3、点分十进制 4、TCP与UDP的异同...
关于k8s的pvc存储卷
目录 1.PVC 和 PV 1.1 PV 1.2 PVC 1.3 StorageClass 1.4 PV和PVC的生命周期 2.实战演练 2.1 创建静态pv 2.2 创建动态pv 3.总结 1.PVC 和 PV 1.1 PV PV 全称叫做 Persistent Volume,持久化存储卷。它是用来描述或者说用来定义一个存储卷的,…...
【物联网设备端开发】ESP开发工具:QEMU的使用方法
概要 本文提供了一些运行QEMU的ESP特定说明。有关QEMU的一般使用问题,请参阅官方文档:https://www.qemu.org/documentation/. 编译 QEMU 准备工作 在此之前,请查看有关构建先决条件的QEMU文档。如果你在Linux主机上构建QEMU,你…...
c++中std::endl 和“\n“ 这两个换行符有什么区别
std::endl 和 "\n" 都用于在C中生成换行符,但它们之间有一些重要的区别 std::endl: 功能:输出一个换行符,并刷新输出流(即缓冲区)。作用:确保所有数据立即输出到目的地,例…...
http中get和post怎么选
5.4.2.怎么选择1.如果你是想从服务器上获取资源,建议使用GET请求,如果你这个请求是为了向服务器提交数据,建议使用POST请求。2.大部分的form表单提交,都是post方式,因为form表单中要填写大量的数据,这些数据…...
数据分析及应用:快手直播间人员在线分析
目录 0 需求描述 1、进入直播间的高峰期为?(以进入用户数衡量) 2、晚上 11 点,哪个直播间的进入人数最多? 3、20:00-23:00,娱乐类、搞笑类,进入人数最多直播间分别是? 4、娱乐类、搞笑类,人均在线时长(退出时间-进入时间)最长的直播间分别是? 5、同时在线人数…...
【Python】nn.nn.CircularPad1、2、3d函数和nn.ConstantPad1、2、3d函数详解和示例
前言 在深度学习中,尤其是在处理图像、音频或其他多维数据时,数据填充(Padding)是一个常见的操作。填充不仅可以保持数据的空间维度,还能在卷积操作中避免信息丢失。PyTorch提供了多种填充方式,其中nn.Cir…...
LearnOpenGL——混合、面剔除
LearnOpenGL——混合、面剔除 混合 Blending一、丢弃片段 Alpha Test二、混合 Alpha Blending渲染顺序 面剔除一、环绕顺序二、面剔除 混合 Blending OpenGL中,混合(Blending)通常是实现物体透明度(Transparency)的一种技术。透明的物体可以是完全透明的࿰…...
视频网站为何热衷于SCDN
视频网站为何热衷于SCDN?随着互联网技术的飞速发展,视频网站已成为人们日常生活中不可或缺的一部分。无论是观看高清电影、热门剧集,还是直播体育赛事、游戏竞技,视频网站都以其丰富的内容和便捷的访问方式吸引了无数用户。然而&a…...
Redis与DataBase保持数据一致性
文章目录 1. 读取数据2. 写数据2.1 先操作缓存2.2 先操作数据库 在我们系统中缓存最常用的策略是:服务端需要同时维系DB和Cache,并且是以DB的结果为准, Cache-Aside Pattern(缓存分离模式、旁路缓存)。 1. 读取数据 当…...
解决 MacOS 连接公司 VPN 成功但是不能网络的问题
目录 解决办法2024 Mac mini 爆料 解决办法 操作比较简单,修改配置文件即可(如果没有则需要手动创建)。 sudo vim /etc/ppp/options在此文件下,加入 plugin L2TP.ppp: plugin L2TP.ppp如果文件里有l2tpnoipsec&…...
【Kubernetes】k8s集群之Pod容器资源限制和三种探针
目录 一、Pod容器的资源限制 1.资源限制 2.Pod 和容器的资源请求与限制 3.CPU 资源单位 4.内存资源单位 二、Pod容器的三种探针 1.探针的三种规则 2.Probe支持三种检查方法: 一、Pod容器的资源限制 1.资源限制 当定义 Pod 时可以选择性地为每个容器设定所…...
从古代驿站体系看软件安全管控@安全历史04
在古代,车、马都很慢,信息传递很不顺畅,中央的政令又是如何传达至地方的呢?实际上,很多朝代都有专门的驿站制度,可以保障全国各地的信息传递,对于维护统治和稳定有着关键作用。 若将国家比作一个…...
8.8 哈希表简单 1 Two Sum 141 Linked List Cycle
1 Two Sum class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {//给的target是目标sum 要返回vector<int> res(2,0);是在num中找加数//首先假设每个输入都是由唯一的结果,而且不适用相同的元素两次一共有n*(n-1)种…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
