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

python学习第三天

条件判断

        条件判断使用ifelifelse关键字。它们用于根据条件执行不同的代码块。

# 条件判断
age = 18
if age < 18:print("你还是个孩子!")
elif age == 18:print("永远十八岁!")
else:print("你还年轻!")

循环

        Python中有两种主要的循环结构:for循环和while循环。

for循环

   for循环用于遍历序列(如列表、元组、字符串等)中的每个元素。

# for循环 遍历序列
array = ['test',1,[1,2,3,4,5]]
for arr in array:# 使用type函数判断类型 类似于java的判断类型instanceof 多进行类比if type(arr)==list:for a in arr:print('我是第二层循环:',a)else:        print(arr)
# 循环字典 实例
disc = [{'name':'python','age':18},{'name':'java','age':18}]
for arr in disc:# 使用type函数判断类型 类似于java的判断类型instanceof 多进行类比if arr.get('name')=='python':print('我是python')else:print('我是java')

while循环

       while循环在条件为True时重复执行代码块。

# while循环 比如累加计算
count = 0
total = 0
while count <= 100:count += 1total = total + count
print(total)

循环内部操作

关键字作用适用场景
pass空操作,什么都不做,仅占位。当语法上需要语句但逻辑上不需要操作时。在编写代码时,如果某些逻辑暂时不需要实现,但需要保持语法正确性,可以使用 pass(简单来说就是保证语法的正确性
continue跳过当前迭代的剩余代码,直接进入下一次循环。当需要跳过某些特定条件的迭代时。
break立即终止整个循环,不再执行后续迭代。当满足某个条件时需要提前退出循环时。
else当循环正常结束(未被 break 中断)时执行 else 块中的代码。当需要在循环正常结束后执行某些操作时。
# pass使用 当语法上需要语句但逻辑上不需要操作时 在编写代码时,如果某些逻辑暂时不需要实现,但需要保持语法正确性,可以使用 pass。可以点到range里看下 很多用到了pass
for i in range(10):if i == 2:passprint(f" i == {i} ")else:print(i)if i == 3:# 保证代码的完整性 如果有复杂的代码 需要待实现的部分就可以使用了pass
# continue跳过本次循环
for i in range(10):if i == 3:continueelse:print(i) # 打印结果 0-9 不含3
# break结束本次循环
for i in range(10):if i == 3:breakelse:print(i) # 打印结果 0 - 2
# else 除了break 不执行else外 其他的都会执行
for i in range(10):break
else:print("循环正常结束") # 因为break 不会被执行
for i in range(10):continue
else:print("循环正常结束") # 正常打印
for i in range(10):pass
else:print("循环正常结束")  # 正常打印

列表操作

        学到了循环,就要学习关于列表的元素的操作,其中包括查询、修改、插入、删除、排序等操作(实例:animal = ['dog','cat','elephant','rabbit']也可以看下面的查询修改中的实例)。

操作方法/语法描述示例
查询list[index]通过索引访问元素,索引从 0 开始。animal[0] 返回 "dog"
list[-1]或者list[len(list)-1]访问最后一个元素。animal[-1] 或者animal[len(animal)-1]返回 "rabbit"
list[start:end]切片操作,获取从 start 到 end-1 的子列表。左开右闭区间。animal[0:2] 返回 ["dog", "cat"]
list.index(value)返回第一个匹配元素的索引。animal.index("cat") 返回 1
value in list检查元素是否在列表中。"monkey" in animal 返回 False
修改list[index] = value修改指定索引处的元素。animal[1] = "monkey" 将 "cat" 修改为 "monkey"
list[start:end] = [values]修改切片范围内的元素。animal[0:2] = ['giraffe','ant'] 替换 "dog" 和 "cat"
删除del list[index]删除指定索引处的元素。del animal[1] 删除 "cat"
list.remove(value)删除第一个匹配的元素。animal.remove("elephant") 删除 "elephant"
list.pop(index)删除并返回指定索引处的元素(默认删除最后一个元素)。animal.pop(1) 删除并返回 "dog"
list.clear()清空列表中的所有元素。animal.clear() 清空列表并返回 []
插入list.append(value)在列表末尾添加一个元素。animal.append("rat") 添加"rat"
list.insert(index, value)在指定索引处插入一个元素。animal.insert(2, "lion") 在索引 2 处插入 "lion"
list.extend(iterable)将另一个可迭代对象的所有元素添加到列表末尾。animal.extend(["fish", "shrimp"]) 添加 "fish" 和 "shrimp"
其他操作len(list)返回列表的长度。len(animal) 返回 4
list.sort()对列表进行排序(默认升序)。animal.sort() 排序列表
list.reverse()反转列表中的元素顺序。animal.reverse() 反转列表
list.copy()返回列表的浅拷贝。深拷贝方法为deepcopy()new_animal = animal.copy() 创建 animal的副本
list.count(value)返回列表中匹配元素的个数。animal.count("cat") 返回 1

查询

# 列表查询操作  通过索引访问元素,索引从0开始。
animal = ['dog','cat','elephant','rabbit']
# 获取cat
print(animal[1]) # 输出:cat
# list[-1] 函数访问最后一个函数 或者 list[len()-1]
print(animal[len(animal)-1]) # 输出:rabbit
# list[start:end] 切片操作,获取从start到end-1的子列表。左闭右开
print(animal[0:2]) # 输出:['dog', 'cat']
# list.index(value) 返回第一个匹配元素的索引。
print(animal.index('cat')) #输出:1
# in 是否在集合中
print('monkey' in animal) #输出:false

修改

# 列表修改操作
animal = ['dog','cat','elephant','rabbit']
# cat修改为monkey
animal[1]= 'monkey'
print(animal) # 输出: ['dog', 'monkey', 'elephant', 'rabbit']
# list[start:end] = [values] 修改切片范围内的元素。 dog和monkey修改为giraffe和ant 注意使用[1,2]会变成添加['dog', 'giraffe', 'ant', 'elephant', 'rabbit']考虑为什么
animal[0:2]= ['giraffe','ant']
print(animal) # 输出: ['dog','monkey','giraffe','ant']

删除

# 列表删除操作
animal = ['dog','cat','elephant','rabbit']
# del list[index] 删除指定索引处的元素。
del animal[1]
print(animal) # 输出: ['dog', 'elephant', 'rabbit']
# list.remove(value) 删除第一个匹配的元素。
animal.remove('elephant')
print(animal) # 输出: ['dog', 'rabbit']
# list.pop(index)	删除并返回指定索引处的元素(默认删除最后一个元素)。
animal.pop()
print(animal) # 输出: ['dog']
# list.clear()	清空列表中的所有元素。	animal.clear()清空列表
animal.clear()
print(animal) # 输出: []

插入

# 列表添加操作
animal = ['dog','cat','elephant','rabbit']
# list.append(value)	在列表末尾添加一个元素
animal.append('rat')
print(animal) # 输出: ['dog','cat','elephant','rabbit','rat']
# list.insert(index, value)	在指定索引处插入一个元素。
animal.insert(2,'lion')
print(animal) # 输出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat']
# list.extend(iterable)	将另一个可迭代对象的所有元素添加到列表末尾。 shrimp虾
animal.extend(['fish','shrimp'])
print(animal)   # 输出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat', 'fish', 'shrimp']

  其他操作

# 列表其他操作
animal = ['dog','cat','elephant','rabbit']
# len(list)	返回列表的长度。
print(len(animal)) # 4
# list.sort()	对列表进行排序(默认升序)。
animal.sort()
print(animal) # ['cat', 'dog', 'elephant', 'rabbit']
# list.reverse()	反转列表中的元素顺序。
animal.reverse()
print(animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.copy()	返回列表的浅拷贝。
new_animal = animal.copy()
print(new_animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.count(value) 返回列表中匹配元素的个数。
print(animal.count('cat')) # 1

代码块

        在Python中,代码块是通过缩进来定义的。通常使用4个空格或一个Tab键(跟java不同的是使用代码缩进来完成java代表是以{开始或者以}结束为一个代码块)来缩进。代码块用于组织代码,使其在逻辑上成为一个整体。

# 这是一个代码块 input函数式输入框 类似与java的system.in输入 系统输入
s = int(input('请输入一个数字:'))
if s > 0: # 也可以写if(s >0 )但是没必要 因为python给个提示建议去掉 保证代码的按照缩进来进行更加规范print("这个数字是大于0的数字!")  # 这行代码属于if语句的代码块
elif s == 0:print("这个数字是等于0的数字!")  # 这行代码属于elif语句的代码块
else:print("这个数字是小于0的数字!")  # 这行代码属于else语句的代码块

方法块

        在Python中,使用def关键字来定义函数。函数是一段可重用的代码,可以接受参数并返回结果。

# def来定义方法
def method1(name,age):print('姓名:'+name,'年龄:'+age)
input(method1('python','18'))

相关文章:

python学习第三天

条件判断 条件判断使用if、elif和else关键字。它们用于根据条件执行不同的代码块。 # 条件判断 age 18 if age < 18:print("你还是个孩子&#xff01;") elif age 18:print("永远十八岁&#xff01;") else:print("你还年轻&#xff01;")…...

深入解析 Svelte:下一代前端框架的革命

深入解析 Svelte&#xff1a;下一代前端框架的革命 1. Svelte 简介 Svelte 是一款前端框架&#xff0c;与 React、Vue 等传统框架不同&#xff0c;它采用 编译时&#xff08;Compile-time&#xff09; 方式来优化前端应用。它不像 React 或 Vue 依赖虚拟 DOM&#xff0c;而是…...

C++20 中位移位运算符的统一行为:深入解析与实践指南

文章目录 1. 位移位运算符的基础1.1 左移运算符&#xff08;<<&#xff09;1.2 右移运算符&#xff08;>>&#xff09; 2. C20 对位移位运算符的统一2.1 移位数量超出操作数位宽2.2 负数移位 3. 实践中的注意事项4. 示例代码5. 总结 在 C 的发展历程中&#xff0c;…...

Linux——基本指令

我们今天学习Linux最基础的指令 ls 指令 语法&#xff1a; ls [选项] [⽬录或⽂件] 功能&#xff1a;对于⽬录&#xff0c;该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件&#xff0c;将列出⽂件名以及其他信 息。 命令中的选项&#xff0c;一次可以传递多个 &#xff0c…...

MySql面试总结(二)

WHERE 子句优化 截至2024年7月,MySQL最新稳定版本是8.2,并不存在MySQL 8.4 。下面从常见的几个方面为你介绍 MySQL 8.x 中 WHERE 子句的优化方法: 1. 确保使用索引 原理:索引可以加快数据的查找速度,当 WHERE 子句中的条件列有索引时,MySQL 可以直接定位到符合条件的数…...

Pytorch中的主要函数

目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda&#xff1b;torch.bac…...

Java实现大数据量导出报表

一、实现方式 在Java中&#xff0c;导出数据到Excel有多种方式&#xff0c;每种方式都有其优缺点&#xff0c;适用于不同的场景。以下是常见的几种方式及其特点&#xff1a; 1.1 Apache POI Apache POI 是 Java 中最流行的库&#xff0c;支持读写 Excel 文件&#xff08;包括…...

大语言模型 智能助手——既能生成自然语言回复,又能在必要时调用外部工具获取实时数据

示例代码&#xff1a; import json from langgraph.graph import Graph, END,StateGraph from langchain_core.utils.function_calling import convert_to_openai_function from langchain_community.tools.openweathermap import OpenWeatherMapQueryRun from langchain_core…...

PyTorch 系统教程:理解机器学习数据分割

数据分割是机器学习中的一个基本概念&#xff0c;它直接影响模型的性能和泛化。在本文中&#xff0c;我们将深入研究为什么数据分割在机器学习中很重要&#xff0c;并演示如何使用PyTorch有效地实现它。 理解数据分割 数据分割是将数据集划分为单独的组以进行训练、验证和测试…...

分水岭算法(Watershed Algorithm)教程:硬币分割实例

import cv2 import numpy as np# 1. 图像预处理 img cv2.imread("./water/water_coins.jpeg") gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, thresh cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV cv2.THRESH_OTSU) kernel np.ones((3, 3), np.int8)…...

【STM32项目实战系列】基于STM32G474的FDCAN驱动配置

前言&#xff1a;本周工作中用到了CANFD的驱动&#xff0c;由于以前都是用到的CAN2.0&#xff0c;所以过程并不是特别的顺利&#xff0c;所以中间遇到几个比较小的问题导致自己卡住了一段时间&#xff0c;特此记录一下并完全奉上自己的配置的源码。 1&#xff0c;CANFD配置与简…...

shell文本处理

shell文本处理 一、grep ​ 过滤来自一个文件或标准输入匹配模式内容。除了 grep 外&#xff0c;还有 egrep、fgrep。egrep 是 grep 的扩展&#xff0c;相当于 grep -E。fgrep 相当于 grep -f&#xff0c;用的比较少。 用法 grep [OPTION]... PATTERN [FILE]...支持的正则描述…...

如何利用客户端双向TLS认证保护云上应用安全

双向TLS(mTLS)通过要求服务器和客户端双方使用数字证书来验证彼此身份&#xff0c;从而扩展了传统TLS的安全性。常规的TLS只会验证服务器的身份(如大家的浏览器在验证网站时的场景)&#xff0c;而mTLS确保在任何数据交换发生之前&#xff0c;双方都对彼此持有信任。在本文中&am…...

nlp第十节——LLM相关

一、模型蒸馏技术 本质上是从一个大模型蒸馏出小模型&#xff0c;从小模型训练出来的概率分布&#xff08;如自回归模型预测下一个字的概率分布&#xff09;分别与大模型预测的概率分布和ground label求loss。与大模型预测的概率分布用KL散度求loss&#xff0c;与ground label用…...

T-SQL 语言基础: SQL 数据库对象元数据及配置信息获取

目录 介绍目录视图 获取表和架构名称获取列信息 信息架构视图 获取表信息获取列信息 系统存储过程和函数 获取对象列表获取对象详细信息获取约束信息获取数据库属性信息 总结引用 介绍 在 SQL 数据库管理中&#xff0c;获取数据库对象的元数据信息是至关重要的。元数据提供了…...

ue5 创建多列StreeView的方法与理解

创建StreeView的多列样式怎么就像是创建单行单列差不多&#xff1f;貌似就是在单行单列中加入了多列widget? 示例代码 DetailTabWidget #pragma once #include "TreeViewItemBase.h"class SDetailTabWidget : public SCompoundWidget {SLATE_BEGIN_ARGS(SDetailT…...

C# OnnxRuntime部署DAMO-YOLO香烟检测

目录 说明 效果 模型信息 项目 代码 下载 参考 说明 效果 模型信息 Model Properties ------------------------- --------------------------------------------------------------- Inputs ------------------------- name&#xff1a;input tensor&#xff1a;Floa…...

陕西省地标-DB61/T 1121-2018 政务服务中心建设和运营规范

揭秘陕西省智慧政务服务中心新标准&#xff1a;打造高效便捷的服务新体验 随着信息化时代的深入发展&#xff0c;智慧政务已成为提升政府服务效率、优化营商环境的重要举措。陕西省作为全国政务改革的先行者&#xff0c;近期颁布了《陕西省地标-DB61_T 1121-2018 政务服务中心…...

UDP协议(20250303)

1. UDP UDP:用户数据报协议&#xff08;User Datagram Protocol&#xff09;&#xff0c;传输层协议之一&#xff08;UDP&#xff0c;TCP&#xff09; 2. 特性 发送数据时不需要建立链接&#xff0c;节省资源开销不安全不可靠的协议 //一般用在实时性比较高…...

【四.RAG技术与应用】【12.阿里云百炼应用(下):RAG的云端优化与扩展】

在上一篇文章中,我们聊了如何通过阿里云百炼平台快速搭建一个RAG(检索增强生成)应用,实现文档智能问答、知识库管理等基础能力。今天咱们继续深入,聚焦两个核心问题:如何通过云端技术优化RAG的效果,以及如何扩展RAG的应用边界。文章会穿插实战案例,手把手带你踩坑避雷。…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...