当前位置: 首页 > news >正文

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代码的软件&#xff0c;用PyCharm写代码比较方便。 PyCharm快捷键ctrl alt s打开软件设置ctrl d复制当前行代码 shift alt 上\下将当前行代码上移或下移crtl shift f10运行当前代码文件shiftf6重命名文件 ctrl a全选ctrl c\v\x复制、粘贴、…...

【MySQL】:深入解析多表查询(下)

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. 自连接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 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/) 前后端分离开发&#xff0c;有利于团队合作接口的文档在线自动生成&#xff0c;降低后端开发人员编写接口文档的负担功能测试 如何使…...

ThingsBoard通过服务端获取客户端属性或者共享属性

MQTT基础 客户端 MQTT连接 通过服务端获取属性值 案例 1、首先需要创建整个设备的信息&#xff0c;并复制访问令牌 ​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. 每日一言 水晶帘动微风起&#xff0c;满架蔷薇一院香。 —高骈- 2.…...

elasticSearch从零整合springboot项目实操

type会被弃用 &#xff0c;就是说之后的elasticSearch中只会存在 索引&#xff08;indices&#xff09; 和 一行&#xff08;document&#xff09; 和字段&#xff08;fields&#xff09; elasticSearch 和solr的区别最大的就是 es对应的 是 json的格式 。 solr有xml和josn等…...

【Linux实践室】Linux高级用户管理实战指南:用户所属组变更操作详解

&#x1f308;个人主页&#xff1a;聆风吟_ &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;Linux查看用户所属组2.1.1 &#x1f47b;使…...

C语言: 字符串函数(下)

片头 在上一篇中,我们介绍了字符串函数。在这一篇章中&#xff0c;我们将继续学习字符串函数&#xff0c;准备好了吗&#xff1f;开始咯&#xff01; 1.strncpy函数 1.1 strncpy函数的用法 strncpy是C语言中的一个字符串处理函数&#xff0c;它用于将一个字符串的一部分内容…...

WPF 数据绑定类属性 和数据更新

WPF中数据绑定是一个非常强大的功能&#xff0c;不仅可以绑定后台数据&#xff0c;还可以进行实时更新。 数据绑定实例 : 在后台创建模型类&#xff0c;然后在标签页面进行导入并绑定。 第一步: // 在后台创建模型类 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}");} 结果是&#xff1a;x1000&#xff0c;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组合在一起&#xff0c;是连续的内存布局。通过EnitityManager来负责高效的分配和释放相关entity. World:世界 一个entity的集合,在当前世界里面&#xff0c;每个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题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…...

第二期书生浦语大模型训练营第三次笔记

RAG RAG是什么&#xff1f; RAG&#xff08;Retrieval Augmented Generation&#xff09;技术&#xff0c;通过检索与用户输入相关的信息片段&#xff0c;并结合外部知识库来生成更准确、更丰富的回答。解决 LLMs 在处理知识密集型任务时可能遇到的挑战, 如幻觉、知识过时和缺…...

SpringMVC(一)【入门】

前言 学完了大数据基本组件&#xff0c;SpringMVC 也得了解了解&#xff0c;为的是之后 SpringBoot 能够快速掌握。SpringMVC 可能在大数据工作中用的不多&#xff0c;但是 SSM 毕竟是现在就业必知必会的东西了。SpringBoot 在数仓开发可能会经常用到&#xff0c;所以不废话学吧…...

SQL Server详细使用教程

SQL Server 是 Microsoft 公司开发的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;用于存储和检索数据。以下是 SQL Server 的详细使用教程&#xff1a; 目录 1. 安装 SQL Server 2. 连接到 SQL Server 3. 创建数据库 4. 创建数据表 5. 插入数据 6. 查…...

Spring Boot项目启动时执行指定的方法

项目场景&#xff1a; 本文介绍Spring Boot项目启动时执行指定的方法两种常用方式和他们之间的区别。 实现方案&#xff1a; 方式一&#xff1a;使用注解PostConstruct Component public class PostConstructTest {PostConstructpublic void postConstruct() {System.out.prin…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...