Study Pyhton
PyCharm
PyCharm是一个写python代码的软件,用PyCharm写代码比较方便。
PyCharm快捷键 | |
ctrl + alt + s | 打开软件设置 |
ctrl+ d | 复制当前行代码 |
shift + alt + 上\下 | 将当前行代码上移或下移 |
crtl + shift + f10 | 运行当前代码文件 |
shift+f6 | 重命名文件 |
ctrl+ a | 全选 |
ctrl +c\v\x | 复制、粘贴、剪切 |
ctrl+ f | 搜索 |
Python基础语法
常用的数据类型
常用的值类型
Python中常用的数据值类型有下列一些
类型 | 描述 | 说明 |
数字( Number) | 整数( int) | 数( int),如:10、-10 |
浮点数(float) | 浮点数(float) ,如:13.14、-13.14 | |
复数(complex) | 复数(complex),如:4+3j,以j结尾表示复数 | |
布尔(bool) | 布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。True本质上是一个数字记作1,False记作0 | |
字符串( String) | 描述文本的一种数据类型 | 字符串( string)由任意数量的字符组成 |
列表( List) | 有序的可变序列 | Python中使用最频繁的数据类型,可有序记录一堆数据 |
元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
集合( Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
字典( Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-value型的Python数据集合 |
有一种特殊数据类型为NoneType,其数据只有一个:None。None的意思是空,即为什么都没有。
变量
在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的。
变量的定义格式:变量名称 = 变量的值
每一个变量都有自己的名称,称之为:变量名,也就是变量本身。
等号表示赋值,将等号右侧的值赋予左侧的变量。
每一个变量都有自己存储的值(内容),称之为:变量值。
type()
我们可以通过type()来得到数据的类型
语法:type(被查看类型的数据)
print(type("文字")) // <cLass' str' >
print(type(666)) // <class 'int'>
print(type(11.345)) // <cLass 'float'>
数据类型转换
不同的数据类型间的转换
函数 | 说明 |
int(x) | 将x转换为一个整数 |
float(x) | 将x转换一个浮点数 |
str(x) | 将对象x转换为字符串 |
想要将字符串转换成数字,必须要求字符串内的内容都是数字。浮点数转整数会丢失精度,小数部分丢失。任何类型都可以转换成字符串。
*注释
注释有单行注释与多行注释两种
单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。#号和注释内容一般建议以一个空格隔开
多行注释:以一对三个双引号引起来("""注释内容""")来解释说明一段代码的作用使用方法
基础符号
标识符
标识符是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
Python中,标识符命名的规则主要有3类:1.内容限定:标识符命名中,只允许出现英文、中文、数字、下划线(_)。其余任何内容都不被允许。(支持中文但不推荐,不可以以数字开头) 2.大小写敏感 3.不可使用关键字
一些关键字:False 、True、None、and、as、assert、break、class、continue、def、del、elif、else、except、finally、for、from、global、if、import、in、is、lambda、nonlocal、not、or、pass、raise、return、try、while、with、yield。(不用刻意记)
标识符命名规范:见名知意、下划线命名法、英文字母全小写。
运算符
运算符 | 描述 | |
算术(数学)运算符 | + | 加 |
- | 减 | |
* | 乘 | |
/ | 除 | |
// | 取整数 | |
% | 取余 | |
** | 指数 | |
赋值运算符 | = | 赋值 |
复合赋值运算符 | += | 加法赋值运算符 |
-= | 减法赋值运算符 | |
*= | 乘法赋值运算符 | |
/= | 除法赋值运算符 | |
%= | 取模赋值运算符 | |
**= | 幂赋值运算符 | |
//= | 取整除赋值运算符 |
字符串、用户输入
字符串
字符串有三种定义方式:单引号定义法、双引号定义法、三引号定义法。三引号定义法,和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串。不使用变量接收它,就可以作为多行注释使用。
字符串的引号嵌套
单引号定义法,可以内含双引号。双引号定义法,可以内含单引号。双引号定义法,可以内含单引号。可以使用转移字符(\)来将引号解除效用,变成普通字符串。
字符串拼接
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成。字符串无法和非字符串类型进行拼接。
用户输入
使用input()语句可以从键盘获取输入
使用一个变量接收(存储)input语句获取的键盘输入数据即可
input()语句可以在要求使用者输入内容前输出提示内容,提示内容需要输入到后边的()中
通过input()输入的数据都为字符串数据类型
格式化
字符串格式化
格式符号 | 转化 |
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
name = "GLATY"
out = "python小白%s" %name
其中的%s:%表示占位置。s表示将变量变成字符串放入占位的地方。(多个变量占位变量要用括号括起来并按照占位的顺序填入)
用%s不仅可以插入字符串还可以插入数字类型(数字会被转化成字符串)
格式化精度控制
可以使用辅助符号"m.n"来控制数据的宽度和精度。m控制宽度,要求是数字(很少使用) ,设置的宽度小于数字自身,不生效。n控制小数点精度,要求是数字,会进行小数的四舍五入。 小数点和小数部分也算入宽度计算。
示例:
●%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成: [空格][空格][空格]11, 用三个空格补足宽度。
●%5.2f: 表示将宽度控制为5,将小数点精度设置为2
●%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后, 结果是11.35
●11.345设置了%7.2f后, 结果是: [空格][空格]11.35。2个空格补足宽
快速格式化
可以用 f "内容{变量}" 的格式来快速格式化。这种方式不理会类型不做精度控制,适合对精度没有要求的时候快速使用。
n1 = 1
n2 = 1.1
n3 = 2.1
adj = "正确的"
print(f"{n1}加{n2}等于{n3}是{adj}")
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
基础语句
判断语句
布尔类型与比较运算符
布尔类型有true与false两种
运算符 | 描述 |
== | 判断内容是否相等,满足为True,不满足为False |
!= | 判断内容是否不相等,满足为True, 不满足为False |
> | 判断运算符左侧内容是否大于右侧满足为True,不满足为False |
< | 判断运算符左侧内容是否小于右侧满足为True,不满足为False |
>+ | 判断运算符左侧内容是否大于等于右侧满足为True,不满足为False |
<= | 判断运算符左侧内容是否小于等于右侧满足为True,不满足为False |
if语句
if 判断条件 :
判断结构为True后执行的语句
num = 1if num > 0:print("正数")# 可写多条语句且只有判断结构为True时执行,为False则都不执行
*判断条件为None时就是False
if else语句
if 判断条件 :
判断结构为True后执行的语句
else:
判断结构为False后执行的语句
num = int(input())if num > 0:print("正数")# 可写多条语句且只有判断结构为True时执行
else:print("非正数")# 可写多条语句且只有判断结构为False时执行
if elif else语句
if 判断条件1 :
判断条件1为True后执行的语句
elif 判断条件2:
判断条件2为True后执行的语句
...
elif 判断条件N:
判断条件N为True后执行的语句
else:
判断结构为False后执行的语句
判断是互斥且有序的,上一个满足后面的就不会判断了。Python通过空格缩进来判断层次关系
num = int(input())if num > 0:print("正数")# 可写多条语句且只有判断结构为True时执行
elif num = 0:print("0")# 可写多条语句且只有判断结构为True时执行
# ...
else:print("...")# 可写多条语句且只有判断结构为False时执行
循环语句
while循环
while 条件:
满足条件执行的语句
...
t = 1
while t <= 10:print(t)t += 1# ...
for循环
while循环的循环条件是自定义的,自行控制循环条件
for循环是一种遍历循环,将待处理的一些数据逐个处理。待处理的数据集被称为序列类型(序列类型指其内容可以个个依次取出的一种类型,这些类型包括字符串、列表、元组等)
for 临时变量 in 序列类型:
循环满足条件时执行的代码
t = "GLATY"
for a in t:print(a)
range()
range(num):获取一个从0开始,到num结束的数字序列(不含num本身)
range (num1,num2):获得一个从num1开始,到num2结束的数字序列( 不含num2本身)
range (num1, num2, step):获得一个从num1开始,到num2结束的数字序列(不含num2本身)数字之间的步长,以step为准(step默认为1)
如果在for循环外部访问临时变量:实际上是可以访问到的(访问到的是临时变量最后被赋值的数据),但在编程规范上是不允许不建议这么做的
循环字段
break
提前退出循环,不在继续
continue
暂时跳过某次循环,直接进行下一次循环
函数
函数:是组织好的,可重复使用的,用来实现特定功能的代码段。
定义函数
def 函数名(形式参数) :
函数体
return 返回值
t = 1def test(a):global tt = a
形式参数可以传入多个,用逗号分开(如不需要,可以省略)
返回值如不需要,可以省略(执行return后函数体结束,后边不再有代码即使有也不执行。无返回值是返回的为None)
*在函数定义的变量(即局部变量)在函数外不可以使用。在定义函数前定义一个变量(即全局变量),这样的变量在函数中可用在函数外也可用。在函数中改变全局变量需要用关键字global
使用函数
函数名(实际参数)
t = 1def test(a):global tt = aprint(test(2))
实际参数可以是多个,但是输入顺序与定义函数的形式参数必须一一对应
如果有返回值可以复制给其它变量,也可以直接使用
函数在使用之前必须先定义,但是先定义的函数中可以使用后定义的函数
函数的说明文档
函数是纯代码语言,想要理解其含义,就需要一行行的去阅读理解代码,效率比较低
在写函数时可以添加说明文档,辅助理解函数的作用。函数文档就是用多行注释来进行解释函数的作用,内容应写在函数体之前。
def function(x, y, z)"""函数说明:param x: 参数x的说明:param y: 参数y的说明:param z: 参数z的说明"""# 函数体# return 返回值
数据容器
数据容器是一种可以存储多个元素的Python数据类型
数据容器类型有五类:list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)
List
定义
变量名称 = [元素1, 元素2, ..., 元素N]
变量名称 = list(字符串)
元素间用逗号分隔,定义空列表时只需要不填入元素即可
list1 = ["a", "abc", 1, 2] # 可以存入多种数据,也可以什么都不存入
list2 = list("GLATY") #只能存入一个字符串,是以单个字符的形式存入的
下标索引
列表中的每一个元素都有索引,从前到后从0开始依次递增
list = [1, 2, 3]
print(list[2]) # 打印出的数据为3
还可以反向索引,从后向前从-1开始,依次递减(-1、 -2、-3...... )
list = [1, 2, 3]
print(list[-2]) # 打印出的数据为2
常用的操作方法
相关文章:
Study Pyhton
PyCharm PyCharm是一个写python代码的软件,用PyCharm写代码比较方便。 PyCharm快捷键ctrl alt s打开软件设置ctrl d复制当前行代码 shift alt 上\下将当前行代码上移或下移crtl shift f10运行当前代码文件shiftf6重命名文件 ctrl a全选ctrl c\v\x复制、粘贴、…...
【MySQL】:深入解析多表查询(下)
🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. 自连接1.1 自连接查询1.2 联合查询 二. 子查询2.1 概述2.2 分类2.3 标量子查…...
图像入门处理4(How to get the scaling ratio between different kinds of images)
just prepare for images fusion and registration ! attachments for some people who need link1 图像处理入门 3...
【项目精讲】Swagger接口文档以及使用方式
Swagger 介绍 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/) 前后端分离开发,有利于团队合作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试 如何使…...
ThingsBoard通过服务端获取客户端属性或者共享属性
MQTT基础 客户端 MQTT连接 通过服务端获取属性值 案例 1、首先需要创建整个设备的信息,并复制访问令牌 2、通过工具MQTTX连接上对应的Topic 3、测试链接是否成功 4、通过服务端获取属性值 5、在客户端查看对应的客户端属性或者共享属性的key 6、查看整个…...
(78)删除有序数组中的重复项(79)排序矩阵查找
文章目录 1. 每日一言2. 题目(78)删除有序数组中的重复项2.1 解题思路2.2 代码 3. 题目(79)排序矩阵查找3.1 解题思路3.1.1 暴力查找暴力查找代码 3.1.2 二分查找二分查找代码 3.1.3 贪心贪心代码 4. 结语 1. 每日一言 水晶帘动微风起,满架蔷薇一院香。 —高骈- 2.…...
elasticSearch从零整合springboot项目实操
type会被弃用 ,就是说之后的elasticSearch中只会存在 索引(indices) 和 一行(document) 和字段(fields) elasticSearch 和solr的区别最大的就是 es对应的 是 json的格式 。 solr有xml和josn等…...
【Linux实践室】Linux高级用户管理实战指南:用户所属组变更操作详解
🌈个人主页:聆风吟_ 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 🔔Linux查看用户所属组2.1.1 👻使…...
C语言: 字符串函数(下)
片头 在上一篇中,我们介绍了字符串函数。在这一篇章中,我们将继续学习字符串函数,准备好了吗?开始咯! 1.strncpy函数 1.1 strncpy函数的用法 strncpy是C语言中的一个字符串处理函数,它用于将一个字符串的一部分内容…...
WPF 数据绑定类属性 和数据更新
WPF中数据绑定是一个非常强大的功能,不仅可以绑定后台数据,还可以进行实时更新。 数据绑定实例 : 在后台创建模型类,然后在标签页面进行导入并绑定。 第一步: // 在后台创建模型类 public class MyData {public string Name { get; set; }…...
使用云服务器搭建CentOS操作系统
云服务器搭建CentOS操作系统 前言一、购买云服务器腾讯云阿里云华为云 二、使用 XShell 远程登陆到 Linux关于 Linux 桌面下载 XShell安装XShell查看 Linux 主机 ip使用 XShell 登陆主机 三、无法使用密码登陆的解决办法 前言 CentOS是一种基于Red Hat Enterprise Linux&#…...
unity的引用传递和数组的联系
引用传递 //引用传递 static void SetY(out int x,out int y ){x 0;y 0;x 1000;}static void Main(string[] args){int x 0;int y 10;SetY(out x, out y);Console.WriteLine($"x{x},y{y}");} 结果是:x1000,y0 数组的引用传递 数组值…...
Android bug Unresolved reference: BR
新建项目后 导入viewBinding 编译后提示 Unresolved reference: BR 解决办法 app 目录下 build.gradle 中 plugins 节点 添加 id kotlin-kapt参考 https://stackoverflow.com/questions/77409050/could-not-find-androidx-corecore-ktx1-8-10...
Unity DOTS1.0 入门(1) ECS机制与概述
ECS机制与概述 Entity:实体 由一个一个的Component组合在一起,是连续的内存布局。通过EnitityManager来负责高效的分配和释放相关entity. World:世界 一个entity的集合,在当前世界里面,每个Entity都有唯一不同的entityld;运行时Unity会自动创建一个D…...
root管理员用户启动kibana报错
问题描述: CentOS7.9.2009环境,以root管理员用户启动kibana7.11.1程序报如下错误: Kibana should not be run as root. Use --allow-root to continue. [root@elasticsearch bin]# whoami root [root@elasticsearch bin]# pwd /usr/local/kibana-7.11.1-linux-x86_64/bi…...
【leetcode面试经典150题】50. 插入区间(C++)
【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…...
第二期书生浦语大模型训练营第三次笔记
RAG RAG是什么? RAG(Retrieval Augmented Generation)技术,通过检索与用户输入相关的信息片段,并结合外部知识库来生成更准确、更丰富的回答。解决 LLMs 在处理知识密集型任务时可能遇到的挑战, 如幻觉、知识过时和缺…...
SpringMVC(一)【入门】
前言 学完了大数据基本组件,SpringMVC 也得了解了解,为的是之后 SpringBoot 能够快速掌握。SpringMVC 可能在大数据工作中用的不多,但是 SSM 毕竟是现在就业必知必会的东西了。SpringBoot 在数仓开发可能会经常用到,所以不废话学吧…...
SQL Server详细使用教程
SQL Server 是 Microsoft 公司开发的关系型数据库管理系统(RDBMS),用于存储和检索数据。以下是 SQL Server 的详细使用教程: 目录 1. 安装 SQL Server 2. 连接到 SQL Server 3. 创建数据库 4. 创建数据表 5. 插入数据 6. 查…...
Spring Boot项目启动时执行指定的方法
项目场景: 本文介绍Spring Boot项目启动时执行指定的方法两种常用方式和他们之间的区别。 实现方案: 方式一:使用注解PostConstruct Component public class PostConstructTest {PostConstructpublic void postConstruct() {System.out.prin…...
红豆Cat 1开源|项目三: 从0-1设计一款HTTP版本RTU(支持GNSS)产品的软硬件全过程
HTTP版RTU(支持GNSS)项目概述 RTU(Remote Terminal Unit),中文即远程终端控制系统,负责对现场信号、工业设备的监测和控制。RTU是构成企业综合自动化系统的核心装置,通常由信号输入/出模块、微…...
在 Mac 上配置高级内容缓存设置
在 Mac 上配置高级内容缓存设置 您可以使用高级配置参数针对网络配置微调内容缓存。 您可以在“终端”中使用命令行或通过修改“/资源库/Preferences/com.apple.AssetCache.plist”文件中的键值,来设定内容缓存的高级配置参数。若要使某些更改生效,必须…...
算法与数据结构 顺序栈(C++)
随机产生10个100以内的整数建立一个顺序栈,从栈顶到栈底依次显示栈内元素;从键盘输入出栈元素个数 n (1< n <10),将 n 个元素依次出栈并显示出栈元素,再显示此时栈顶元素。 #include <iostream> #include <cstd…...
【WSL】在WIN11安装并使用Linux子系统(Ubuntu)
前言: 最近买了4060Ti 16G,可以尝试在本地实验大模型。一开始尝试使用Vmware搞Linux,发现没有办法加载GPU(或者另外有办法没找到)。所以只剩下了两条路:要么搞双系统,要么使用WSL(W…...
【vim 学习系列文章 20 -- a:mode 的值有哪些?】
请阅读【嵌入式开发学习必备专栏 之 Vim】 文章目录 a:mode 的值有哪些?举例Vim 底部状态栏设置 a:mode 的值有哪些? 在 Vim 脚本语言中,a:mode 常常用于函数内部,以获取该函数被调用时 Vim 正处于的模式。它主常用于那些可以从不同模式下被调用的函数…...
sed命令多行处理
1. sed 如何工作的 sed 维护两个空间: 模式空间保留空间 sed是以行为周期来处理文本的。 sed从输入流中读取一行,去掉最后的换行符,把它放入模式空间。随后执行命令,每个命令都有关联的地址和条件,只有匹配时才执行…...
Secure Copy Protocol or SCP - 安全拷贝协议
Secure Copy Protocol or SCP - 安全拷贝协议 1. scp 文件传输1.1. 将远程文件拷贝到本地1.2. 将本地文件拷贝到远程1.3. 将远程目录拷贝到本地 References Secure Copy (remote file copy program) The SCP program is a software tool implementing the SCP protocol as a s…...
Java面试题:什么是Java的值传递和引用传递?列举其应用场景,并说明其特点
在Java中,值传递和引用传递是两种不同的参数传递机制。它们在Java程序中扮演着重要的角色,影响着方法如何接收和处理参数。了解这两种传递机制对于编写高效、可靠的Java代码至关重要。 值传递(Pass by Value) 值传递是指在调用方…...
Java 基于微信小程序的智能停车场管理小程序
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
python基础——类型注解【变量,函数,Union】
📝前言: 上一篇文章Python基础——面相对象的三大特征提到,python中的多态,python中,类型是动态的,这意味着我们不需要在声明变量时指定其类型。然而,这可能导致运行时错误,因为我们…...
wordpress多语言生成工具/百度收录提交网址
原文 http://www.cnblogs.com/meteoric_cry/p/4285881.html主题 curllibcurl参数很多,一不小心就容易遇到问题。曾经就遇到过一个很蛋疼的问题:libcurl断点下载>> 这里主要汇总一下,libcurl上传的二种方式: 1、直接上传文件…...
做设计的地图网站/网站怎样优化文章关键词
ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ 的明确目标是“成为标准网络协议栈的…...
怎么制作外贸网站/东莞网络推广托管
2019独角兽企业重金招聘Python工程师标准>>> 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服…...
招商网站建设解决方案/怎样在百度打广告
背景 java9的一再推迟发布,似乎让我们恍然想起离发布java8已经过去了三年之久,java8应该算的上java语言在历代版本中变化最大的一个版本了,最大的新特性应该算得上是增加了lambda表达式,借助lambda表达式,我们可以编写出性能更好,可读性更强的代码,更重要的,它给我们带来了一种…...
郑州网站建设开拓者/谷歌推广开户多少费用
HTML DOM 访问访问 HTML DOM - 查找 HTML 元素。访问 HTML 元素(节点)访问 HTML 元素等同于访问节点您能够以不同的方式来访问 HTML 元素:通过使用 getElementById() 方法通过使用 getElementsByTagName() 方法通过使用 getElementsByClassName() 方法getElementByI…...
电脑做网站空间/windows优化大师是系统软件吗
对于python列表里元素的操作主要分为以下几个方面: 1、向列表里面加元素; 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定的列表最后添加一个…...