【编程基础之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们你们好呀,今天小雅兰的内容是数据结构与算法里面的顺序表啦,在我看来,数据结构总体上是一个抽象的东西,关键还是要多写代码,下面,就让我们进入顺序表的世界吧 线性表 顺序表 线性表 线性表&…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...