【编程基础之Python】12、Python中的语句
【编程基础之Python】12、Python中的语句
- Python中的语句
- 赋值语句
- 条件语句
- 循环语句
- for循环
- while循环
- continue语句
- break语句
- continue与break的区别
- 函数语句
- pass语句
- 异常处理语句
- 结论
Python中的语句
Python是一种高级编程语言,具有简单易学的语法,适用于各种编程任务,包括数据分析、机器学习和Web开发等。本文将详细介绍Python中的语句,包括赋值语句、条件语句、循环语句、函数语句和异常处理语句等。本文介绍Python中不同类型的语句及其用法。
赋值语句
赋值语句是Python中最基本的语句之一,用于将值赋给变量。在Python中,赋值语句使用等号(=)作为赋值操作符。
下面的代码将整数5赋给变量x:
x = 5
print(x)
可以使用多个赋值语句为多个变量赋值。
下面的代码将整数5赋给变量x,将字符串"hello"赋给变量y:
x = 5
y = "hello"
print(x, y)
在Python赋值语句中,可以同时为多个变量赋值。
下面的代码将整数5赋给变量x和y:
x = y = 5
print(x, y)
也可以写成:
x, y = 5, 5
print(x, y)
还可以使用赋值语句从函数返回多个值。
下面的代码定义一个函数,该函数返回两个字符串值:
def get_names():return "Tom", "Jack"x, y = get_names()
print(x, y)
在上面的代码中,调用get_names函数将返回两个字符串值,并使用赋值语句将这些值分别赋给x和y变量。
条件语句
条件语句是一种控制结构,用于根据条件执行不同的代码块。在Python中,条件语句使用if语句实现。if语句由关键字if、条件表达式和一个或多个代码块组成。
下面的代码使用if语句检查变量x是否大于0:
x = 5if x > 0:print("x大于0")
在上面的代码中,如果条件表达式为真(即x>0),则执行if语句后面的代码块,输出:“x大于0”。
除了if语句外,Python还支持elif和else语句。elif语句用于在多个条件之间选择,而else语句用于在所有条件都不满足时执行。
下面的代码使用if、elif和else语句来确定变量x的值:
x = 0if x > 0:print("x大于0")
elif x == 0:print("x等于0")
else:print("x小于0")
在上面的代码中,如果x大于0,则会输出:“x大于0”;如果x等于0,则会输出:“x等于0”;否则,就输出:“x小于0”。
可以在条件语句中嵌套其他条件语句。例如,下面的代码使用条件语句判断一个数字是否是偶数,并判断这个数字是否是正数、负数还是零:
num = 10if num % 2 == 0:if num > 0:print("num是大于0的偶数")elif num == 0:print("num是0")else:print("num是小于0的偶数")
else:if num > 0:print("num是大于0的奇数")else:print("num是小于0的奇数")
在上面的代码中,使用if语句判断变量num是否是偶数。如果是,使用嵌套的条件语句判断变量num的值是否大于0,等于0或小于0,并使用print语句输出相应的消息。如果变量num不是偶数,则使用嵌套的条件语句判断变量num的值是否大于0或小于0,并使用print语句输出相应的消息。
循环语句
循环语句是一种控制结构,用于重复执行代码块,直到满足特定条件为止。在Python中,有两种循环语句:for循环和while循环。
for循环
for循环用于遍历可迭代对象,例如:列表、元组或字符串等。在Python中,for循环由关键字for、一个迭代变量和一个可迭代对象组成。例如,下面的代码使用for循环遍历列表并输出其中的每个元素:
fruits = ["apple", "banana", "cherry"]for fruit in fruits:print(fruit)
在上面的代码中,for循环遍历列表fruits,并将每个元素赋值给变量fruit。然后,使用print语句输出变量fruit的值。
可以在for循环中使用range函数来生成数字序列。例如,下面的代码使用for循环和range函数输出0到4之间的整数:
for i in range(5):print(i)
在上面的代码中,for循环遍历由range函数生成的整数序列,并将每个整数赋值给变量i。然后,使用print语句输出变量i的值。
while循环
while循环用于在条件为True时重复执行代码块。在Python中,while循环由关键字while和一个条件表达式组成。例如,下面的代码使用while循环计算1到10之间的整数的总和:
i = 1
sum = 0while i <= 10:sum += ii += 1print("1到10的和是:", sum)
在上面的代码中,while循环重复执行代码块,直到变量i的值大于10。在每次循环迭代中,变量i的值递增1,并将其加到变量sum中。最后,使用print语句输出变量sum的值。
continue语句
在Python中,continue语句用于跳过当前循环中的某个迭代,并开始下一个迭代。当程序遇到continue语句时,将跳过当前迭代中剩余的代码,并返回到循环的顶部,开始下一个迭代。
continue语句通常与if语句结合使用,用于跳过某些特定条件下的迭代。例如,下面的代码使用continue语句跳过列表中的负数,并输出列表中的正数:
numbers = [1, -2, 3, -4, 5, 6, -7, 8]print("for循环中:")
for number in numbers:if number < 0:continueprint(number)i = 0
print("while循环中:")
while i < len(numbers):i += 1if numbers[i-1] < 0:continueprint(numbers[i-1])
在上面的代码中,使用for循环遍历列表numbers中的元素,并使用if语句检查每个元素是否小于0。如果元素小于0,则使用continue语句跳过当前迭代中剩余的代码,返回到循环的顶部开始下一个迭代。如果元素大于或等于0,则使用print语句输出元素的值。
在上面的例子中,列表中的负数被跳过,只输出了正数1、3、5、6、8。
continue语句只能在循环语句中使用。如果在非循环语句中使用continue语句,程序将引发SyntaxError异常。
continue语句可以在任何循环语句中使用,包括for循环、while循环。
break语句
在Python中,break语句用于在循环中立即终止循环并跳出循环。当程序遇到break语句时,将不再执行循环中剩余的代码,并且直接跳出循环。
break语句通常与if语句结合使用,用于在某些特定条件下立即结束循环。
下面的代码使用while语句在列表中查找特定元素,找到后使用break关键字终止循环:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
i = 0
while i < len(numbers):if numbers[i] == 5:breakprint(numbers[i])i += 1
在上面的代码中,使用while语句遍历列表中的元素。如果找到目标元素5,使用break终止循环,因此只打印出了1、2、3、4。
break语句只能在循环语句中使用。如果在非循环语句中使用break语句,程序将引发SyntaxError异常。
break语句可以在任何循环语句中使用,包括for循环、while循环等。
在使用break语句时需要小心,因为它可能会导致程序无法正常执行。如果在循环中过早地使用break语句,程序可能会错过某些重要的操作。因此,使用break语句时应该确保它不会导致意外的结果。
continue与break的区别
continue语句用于跳过当前迭代中的语句,并开始下一个迭代。当程序遇到continue语句时,将跳过当前迭代中剩余的代码,并返回到循环的顶部,开始下一个迭代。continue通常与if语句结合使用,用于跳过某些特定条件下的迭代。
而break语句用于立即终止循环并跳出循环。当程序遇到break语句时,将不再执行循环中剩余的代码,并且直接跳出循环。break通常与if语句结合使用,用于在某些特定条件下立即结束循环。
因此,continue和break语句之间的主要区别在于它们对循环流程的影响。continue语句会跳过当前迭代中的语句并继续执行下一个迭代,而break语句会立即终止循环并跳出循环。在使用这两个关键字时,需要根据实际情况选择使用哪一个。
numbers = [1, 2, 3, 4, 5]
print("使用continue:")
i = 0
while i < len(numbers):if numbers[i] == 3:i += 1continueprint(numbers[i])i += 1print("使用break:")
i = 0
while i < len(numbers):if numbers[i] == 3:breakprint(numbers[i])i += 1
在上面的语句循环中,continue仅跳过元素3的打印,而break则跳过了3及后续元素的打印。
函数语句
函数语句是一种封装代码的方式,用于将一组相关的代码块组织成可重复使用的代码块。在Python中,函数由关键字def、函数名、参数列表和一个或多个代码块组成。例如,下面的代码定义一个计算两个数之和的函数:
def add(x, y):return x + y
在上面的代码中,函数名为add,参数列表为x和y,代码块使用return语句返回x和y的和。
可以使用函数调用语句来调用函数并传递参数。例如,下面的代码调用add函数并将2和3作为参数传递给它:
result = add(2, 3)
print(result)
可以在函数定义中使用默认参数值。例如,下面的代码定义了一个函数,该函数使用默认参数值来计算两个数字的乘积:
def multiply_numbers(x, y=1):return x * yresult1 = multiply_numbers(10)
result2 = multiply_numbers(10, 5)print("result1是:", result1)
print("Result2是:", result2)
在上面的代码中,定义了一个名为multiply_numbers的函数,该函数接受两个参数x和y。其中,参数y使用了默认值1。如果调用函数时没有传递y的值,将会使用默认值1。函数返回x和y的乘积。代码中,分别调用了函数multiply_numbers两次。第一次只传递了一个参数,使用了默认值1,第二次传递了两个参数。最后,使用print语句输出两次函数调用的结果。
pass语句
在Python中,pass语句用于在代码块中占位,表示暂时没有实现任何功能。当需要定义一个空函数或占位符函数时,可以使用pass语句作为函数体,以便稍后填充细节。
例如,下面的代码定义了一个空函数:
def empty_function():pass
在上面的代码中,函数体中只包含一个pass语句,表示函数暂时没有实现任何功能。这种情况通常出现在编写代码框架时,需要定义函数名称和参数,但还没有实现函数的具体功能时。
除了在函数体中使用pass语句,还可以在if语句、for循环、while循环等代码块中使用。当需要暂时不执行任何操作时,可以使用pass语句占位,以便稍后填充细节。
例如,下面的代码使用pass语句定义了一个空的if语句:
if x > 10:pass
在上面的代码中,if语句的条件是x > 10,但if语句体中只包含一个pass语句,表示在满足条件时不执行任何操作。这种情况通常出现在需要在代码中预留条件分支,但还没有确定具体实现方式。
异常处理语句
异常处理语句是一种处理异常的方式,用于在代码执行时捕获并处理可能出现的错误。在Python中,异常处理语句使用try、except、else和finally关键字组成。
例如,下面的代码使用try、except和finally语句来处理可能出现的除以零错误:
try:result = 1 / 0
except ZeroDivisionError:print("除数不能是0")
finally:print("最终都会执行")
在上面的代码中,try语句包含可能出现异常的代码块,except语句用于捕获特定类型的异常ZeroDivisionError,finally语句包含无论是否出现异常都需要执行的代码块。
可以在一个异常处理语句中使用多个except语句,来捕获不同类型的异常。例如,下面的代码使用异常处理语句尝试除以0,捕获ZeroDivisionError和TypeError异常:
try:result = 1 / "0"
except ZeroDivisionError:print("除数不能是0")
except TypeError:print("数据类型错误")
finally:print("最终都会执行")
在上面的代码中,使用try语句尝试计算1除以字符串“0”。由于这个操作是不合法的,抛出ZeroDivisionError和TypeError异常。使用两个except语句分别捕获这两种异常,并使用print语句输出相应的消息。最后,finally语句包含无论是否出现异常都需要执行的代码块。
可以在一个异常处理语句中使用else语句,在try语句未抛出异常时执行代码块。例如,下面的代码使用异常处理语句尝试打开一个文件,如果文件存在,使用else语句读取文件内容:
try:result = 1 / 10
except ZeroDivisionError:print("除数不能是0")
else:print("结果是:", result)
finally:print("最终都会执行")
结论
本文介绍了Python中的各种语句,包括赋值语句、条件语句、循环语句、函数语句和异常处理语句等。这些语句是Python编程中的基本构建块,可以用于完成各种编程任务。了解这些语句的语法和用法对于Python编程非常重要。
相关文章:

【编程基础之Python】12、Python中的语句
【编程基础之Python】12、Python中的语句Python中的语句赋值语句条件语句循环语句for循环while循环continue语句break语句continue与break的区别函数语句pass语句异常处理语句结论Python中的语句 Python是一种高级编程语言,具有简单易学的语法,适用于各…...

android h5餐饮管理系统myeclipse开发mysql数据库编程服务端java计算机程序设计
一、源码特点 android h5餐饮管理系统是一套完善的WEBandroid设计系统,对理解JSP java,安卓app编程开发语言有帮助(系统采用web服务端APP端 综合模式进行设计开发),系统具有完整的源代码和数据库,系统主要…...

容易混淆的嵌入式(Embedded)术语
因为做嵌入式开发工作虽然跳不出电子行业,但还是能接触到跨度较大的不同行当,身处不同的圈子。诸如医疗,银行,车载,工业;亦或者手机,PC,专用芯片;甚至可能横跨系统开发、…...
Nodejs 中 JSON 和 YAML 互相转换
JSON 转换成 YAML 1. 安装 js-yaml 库: npm install js-yaml2. 在程序中引入依赖库 const yaml require(js-yaml);3. 创建一个 js 对象, 代表 json 数据 const jsonData {name: John,age: 30,city: New York };4. 使用 yaml.dump() 把 js 对象转换成 YAML, 返回 YAML 字符…...
C++入门教程||C++ 修饰符类型||C++ 存储类
C 修饰符类型 C 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 下面列出了数据类型修饰符: signedunsignedlongshort 修饰符 signed、unsigned、long 和 short 可应用于整型&#…...
Android开发面试:Java知识答案精解
目录 Java 集合 集合概述 HashMap ConcurrentHashMap 泛型 反射 注解 IO流 异常、深浅拷贝与Java8新特性 Java异常 深浅拷贝 Java8新特性 并发 线程 线程池 锁 volatile JVM 内存区域 内存模型 类加载机制 垃圾回收机制 如何判断对象已死 Java 集合 …...

Windows上一款特别好用的画图软件
安装 废话不多说,打开windows的应用商店,搜索draw.io,点击获取即可。 画图 draw.io的布局左边是各种图形组件,中间是画布,右边是属性设置,文件扩展名是.drawio。 点击左边列表中的图形可以将它添加到画…...

html--学习
javascrapt交互,网页控制JavaScript:改变 HTML 图像本例会动态地改变 HTML <image> 的来源(src):点亮灯泡<script>function changeImage() {elementdocument.getElementById(myimage) #内存变量࿰…...

关于递归处理,应该怎么处理,思路是什么?
其实问题很简单,就是想要循环遍历整个data对象,来实现所有name转成label,但是想到里面还有children属性,整个children里面可能还会嵌套很多很多的name,如此循环,很难搞,知道使用递归,…...

重磅!牛客笔试客户端可防ChatGPT作弊
上线俩月,月活过亿。爆火的ChatGPT能代写文,撕代码,善玩梗,秒答题,几乎“无所不能”,争议也随之而来。调查显示,截至2023年1月,美国89%的大学生利用ChatGPT应付作业,53%的…...

春季训练营 | 前端+验证直通车-全实操项目实践,履历加成就业无忧
“芯动的offer”是2023年E课网联合企业全新推出集训培优班(线下),针对有一定基础(linux、verilog、uvm等)在校学生以及想要通过短时间的学习进入到IC行业中的转行人士,由资深IC设计工程师带教,通…...
2.详解URL
文章目录视图函数1.1endpoint简介1.2 装饰器注册路由源码浅析1.3 另一种注册路由的方式---app.add_url_rule()1.4 视图函数中添加自定义装饰器2 视图类2.1 视图类的基本写法3 详细讲解注册路由的参数3.1常用的参数3.2不常用的参数(了解)视图函数 1.1endpoint简介 endpint参数…...

Android特别的数据结构(二)ArrayMap源码解析
1. 数据结构 public final class ArrayMap<K,V> implements Map<K,V> 由两个数组组成,一个int[] mHashes用来存放Key的hash值,一个Object[] mArrays用来连续存放成对的Key和ValuemHashes数组按非严格升序排列初始默认容量为0减容ÿ…...
减少if else
1. 三目运算符 可以理解为条件 ?结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。 实例: public String handle(int code) {if (code 1) {return "success";} else {return &quo…...

硕士毕业论文常见的排版小技巧
word排版陆续更新吧,更具我所遇到的一些小问题,总结上来 文章目录1.避免题注(图或者表的标题)与图或表格分不用页注意点:光标移动到表的题注后面2.设置论文的页眉关键点:需要将每一章节末尾,都要…...

JAVA开发(数据类型String和HasMap的实现原理)
在JAVA开发中,使用最多的数据类型恐怕是String 和 HasMap两种数据类型。在开发的过程中我们每天都使用的不亦乐乎。但是相信很多人都没有考虑过String数据类型的实现原理或者说是在数据结构中的存储原理,还有一个就是是HashMap,也很少有人去了…...

Hbase 映射到Hive
目录 一、环境配置修改 关闭掉hbase,zookeeper和hive服务 进入hive312/conf 修改hive-site.xml配置, 在代码最后添加配置 将hbase235的jar包全部拷贝到hive312的lib目录,并且所有的是否覆盖信息全部输入n,不覆盖 查看hive312下…...

14_MySQL视图
1. 常见的数据库对象2. 视图概述2.1 使用视图的好处视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据…...
做程序界中的死神,斩魂刀始解
标题解读:标题中的死神,是源自《死神》动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招。意旨做程序界中程序员的佼佼者,一步一步最…...

顺序表——“数据结构与算法”
各位CSDN的uu们你们好呀,今天小雅兰的内容是数据结构与算法里面的顺序表啦,在我看来,数据结构总体上是一个抽象的东西,关键还是要多写代码,下面,就让我们进入顺序表的世界吧 线性表 顺序表 线性表 线性表&…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...