【编程基础之Python】12、Python中的语句

news2025/1/25 9:11:50

【编程基础之Python】12、Python中的语句

  • Python中的语句
    • 赋值语句
    • 条件语句
    • 循环语句
      • for循环
      • while循环
      • continue语句
      • break语句
      • continue与break的区别
    • 函数语句
      • pass语句
    • 异常处理语句
  • 结论

Python中的语句

Python是一种高级编程语言,具有简单易学的语法,适用于各种编程任务,包括数据分析、机器学习和Web开发等。本文将详细介绍Python中的语句,包括赋值语句、条件语句、循环语句、函数语句和异常处理语句等。本文介绍Python中不同类型的语句及其用法。

赋值语句

赋值语句是Python中最基本的语句之一,用于将值赋给变量。在Python中,赋值语句使用等号(=)作为赋值操作符。

下面的代码将整数5赋给变量x:

x = 5
print(x)

image-20230308151155130

可以使用多个赋值语句为多个变量赋值。

下面的代码将整数5赋给变量x,将字符串"hello"赋给变量y:

x = 5
y = "hello"
print(x, y)

image-20230308151303122

在Python赋值语句中,可以同时为多个变量赋值。

下面的代码将整数5赋给变量x和y:

x = y = 5
print(x, y)

image-20230308151346119

也可以写成:

x, y = 5, 5
print(x, y)

image-20230308151431785

还可以使用赋值语句从函数返回多个值。

下面的代码定义一个函数,该函数返回两个字符串值:

def get_names():
    return "Tom", "Jack"

x, y = get_names()
print(x, y)

在上面的代码中,调用get_names函数将返回两个字符串值,并使用赋值语句将这些值分别赋给x和y变量。

image-20230308151528174

条件语句

条件语句是一种控制结构,用于根据条件执行不同的代码块。在Python中,条件语句使用if语句实现。if语句由关键字if、条件表达式和一个或多个代码块组成。

下面的代码使用if语句检查变量x是否大于0:

x = 5

if x > 0:
    print("x大于0")

在上面的代码中,如果条件表达式为真(即x>0),则执行if语句后面的代码块,输出:“x大于0”。

image-20230308151628555

除了if语句外,Python还支持elif和else语句。elif语句用于在多个条件之间选择,而else语句用于在所有条件都不满足时执行。

下面的代码使用if、elif和else语句来确定变量x的值:

x = 0

if 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”。

image-20230308151755544

可以在条件语句中嵌套其他条件语句。例如,下面的代码使用条件语句判断一个数字是否是偶数,并判断这个数字是否是正数、负数还是零:

num = 10

if 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语句输出相应的消息。

image-20230308151903338

循环语句

循环语句是一种控制结构,用于重复执行代码块,直到满足特定条件为止。在Python中,有两种循环语句:for循环和while循环。

for循环

for循环用于遍历可迭代对象,例如:列表、元组或字符串等。在Python中,for循环由关键字for、一个迭代变量和一个可迭代对象组成。例如,下面的代码使用for循环遍历列表并输出其中的每个元素:

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

在上面的代码中,for循环遍历列表fruits,并将每个元素赋值给变量fruit。然后,使用print语句输出变量fruit的值。

image-20230308152054042

可以在for循环中使用range函数来生成数字序列。例如,下面的代码使用for循环和range函数输出0到4之间的整数:

for i in range(5):
    print(i)

在上面的代码中,for循环遍历由range函数生成的整数序列,并将每个整数赋值给变量i。然后,使用print语句输出变量i的值。

image-20230308152155130

while循环

while循环用于在条件为True时重复执行代码块。在Python中,while循环由关键字while和一个条件表达式组成。例如,下面的代码使用while循环计算1到10之间的整数的总和:

i = 1
sum = 0

while i <= 10:
    sum += i
    i += 1

print("1到10的和是:", sum)

在上面的代码中,while循环重复执行代码块,直到变量i的值大于10。在每次循环迭代中,变量i的值递增1,并将其加到变量sum中。最后,使用print语句输出变量sum的值。

image-20230308152303447

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:
        continue
    print(number)

i = 0
print("while循环中:")
while i < len(numbers):
    i += 1
    if numbers[i-1] < 0:
        continue
    print(numbers[i-1])

在上面的代码中,使用for循环遍历列表numbers中的元素,并使用if语句检查每个元素是否小于0。如果元素小于0,则使用continue语句跳过当前迭代中剩余的代码,返回到循环的顶部开始下一个迭代。如果元素大于或等于0,则使用print语句输出元素的值。

在上面的例子中,列表中的负数被跳过,只输出了正数1、3、5、6、8。

image-20230308152622404

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:
        break
    print(numbers[i])
    i += 1

在上面的代码中,使用while语句遍历列表中的元素。如果找到目标元素5,使用break终止循环,因此只打印出了1、2、3、4。

image-20230308154118053

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 += 1
        continue
    print(numbers[i])
    i += 1

print("使用break:")
i = 0
while i < len(numbers):
    if numbers[i] == 3:
        break
    print(numbers[i])
    i += 1

在上面的语句循环中,continue仅跳过元素3的打印,而break则跳过了3及后续元素的打印。

image-20230308154810054

函数语句

函数语句是一种封装代码的方式,用于将一组相关的代码块组织成可重复使用的代码块。在Python中,函数由关键字def、函数名、参数列表和一个或多个代码块组成。例如,下面的代码定义一个计算两个数之和的函数:

def add(x, y):
    return x + y

在上面的代码中,函数名为add,参数列表为x和y,代码块使用return语句返回x和y的和。

可以使用函数调用语句来调用函数并传递参数。例如,下面的代码调用add函数并将2和3作为参数传递给它:

result = add(2, 3)
print(result)

image-20230308155222471

可以在函数定义中使用默认参数值。例如,下面的代码定义了一个函数,该函数使用默认参数值来计算两个数字的乘积:

def multiply_numbers(x, y=1):
    return x * y

result1 = 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语句输出两次函数调用的结果。

image-20230308155540299

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语句包含无论是否出现异常都需要执行的代码块。

image-20230308160246566

可以在一个异常处理语句中使用多个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语句包含无论是否出现异常都需要执行的代码块。

image-20230308160457699

可以在一个异常处理语句中使用else语句,在try语句未抛出异常时执行代码块。例如,下面的代码使用异常处理语句尝试打开一个文件,如果文件存在,使用else语句读取文件内容:

try:
    result = 1 / 10
except ZeroDivisionError:
    print("除数不能是0")
else:
    print("结果是:", result)
finally:
    print("最终都会执行")

image-20230308160752076

结论

本文介绍了Python中的各种语句,包括赋值语句、条件语句、循环语句、函数语句和异常处理语句等。这些语句是Python编程中的基本构建块,可以用于完成各种编程任务。了解这些语句的语法和用法对于Python编程非常重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/396757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA架构与开发(JAVA架构是需要考虑的几个问题)

在企业中JAVA架构师主要负责企业项目技术架构&#xff0c;企业技术战略制定&#xff0c;技术框架搭建&#xff0c;技术培训和技术攻坚的工作。 在JAVA领域&#xff0c;比较多的都是web项目。用于解决企业的数字化转型。对于JAVA架构师而言&#xff0c;平时对项目的架构主要考虑…

yolov7改进系列

1. YOLOv7改进结构系列&#xff1a; 最新结合用于小目标的新CNN卷积构建 (71条消息) YOLOv7改进结构系列&#xff1a; 最新结合用于小目标的新CNN卷积构建块_芒果汁没有芒果的博客-CSDN博客 一、SPD论文理论部分 卷积神经网络 (CNN) 在许多计算机视觉任务&#xff08;例如图像…

CMU15-445 Project.3总结

在线测试 Project #3 - Query Execution 以下是Project #3的网址&#xff0c;2022FALL的Project #3是实现一个查询执行&#xff0c;实现一系列算子&#xff0c;用于实现数据库内的SQL计算。项目中的 Query Execution 主要分为三个任务&#xff1a; Access Method Executors…

九龙证券|整合大年 钢企迎来盈亏平衡新周期

经历上一年的“至暗时间”后&#xff0c;2023年的钢铁工业正从盈亏平衡的新窗口探出面来。证券时报记者从多家钢企和钢贸商处确认&#xff0c;本年以来钢材价格试探性上涨频现&#xff0c;量价、开工率、库存等指标都呈现向好趋向。 如果说供应侧结构性变革是推动上一轮钢铁工业…

HTML 简介

文章目录HTML 简介实例解析什么是HTML?HTML 标签HTML 元素Web 浏览器HTML 网页结构HTML版本<!DOCTYPE> 声明通用声明HTML5HTML 4.01XHTML 1.0中文编码HTML 简介 HTML 实例 <!DOCTYPE html> <html><head><meta charset"utf-8"><ti…

Spring——数据源对象管理和Spring加载properties文件

前面一直都是在管理自己内部创建的对象&#xff0c;这个是管理外部的对象。 这里先使用阿里巴巴的druid来演示。需要在pom.xml中添加如下的依赖 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1…

Leetcode.2416 字符串的前缀分数和

题目链接 Leetcode.2416 字符串的前缀分数和 Rating &#xff1a; 1725 题目描述 给你一个长度为 n的数组 words&#xff0c;该数组由 非空 字符串组成。 定义字符串 word的 分数 等于以 word作为 前缀 的 words[i]的数目。 例如&#xff0c;如果 words ["a", &q…

C++STL详解(五)——list的介绍与使用

文章目录list的介绍list的使用list的定义方法list迭代器失效问题list插入和删除inserteraselist迭代器的使用begin&#xff0c;end 和 rbegin&#xff0c;rendlist元素访问front 和 backlist容量控制与数据清理resizeclearlist操作函数spliceremove 和 remove_ifuniquemergerev…

安卓开发之动态设置网络访问地址

之前开发程序联测测接口的时候&#xff0c;因为要和不同的后台人员调接口&#xff0c;所以经常要先把程序里的ip地址改成后台人员给我的。每次都要先修改ip地址&#xff0c;之后编译运行一下&#xff0c;才能测试。但要是换了个后台人员&#xff0c;或者同时和2个后台人员测接口…

Android提词器实现富文本样式

前提前一段时间做了一个程序&#xff0c;提词器APP&#xff0c;结合greendao保存数据。最近新增了一个需求&#xff0c;实现部分文字富文本的展现。师傅找了一个网上的SDK&#xff0c;但是在集成的时候总是出问题&#xff0c;我又不想把项目挪进来&#xff0c;感觉很麻烦&#…

Oracle P6 Professional相比与Microsoft Project的8个优势

目录 引言 1. 自上而下的调度 2. 努力程度 (LOE) 活动 3. 最长路径 4. 多浮动路径分析功能 6.预算材料成本 7. 开始和完成里程碑 8. 工作公式类型 概括 引言 哪种日程安排工具更适合您的情况&#xff0c;Oracle Primavera P6 还是 Microsoft Project(MSP) 经常有一些…

MySQL8.0Linux安装及主从的搭建

MySQL8.0Linux安装教程 下载并安装 需要说明的一点是我使用的是SSH secure shell Client连接linux系统的&#xff0c;它的用法和命令窗口差不多。界面如图&#xff1a;一样的使用Linux命令操作。 话不多说 第一步&#xff1a; 1&#xff09;、切换到 /usr/local下 cd /usr/…

已解决hint : See above for output from the failure.

已解决&#xff08;pip install wxPython安装失败&#xff09;error: legacy-instal1-failure Encountered error while trying to install package.wxPython note: This is an issue with the package mentioned above&#xff0c;not pip. hint : See above for output from …

关于世界坐标系,相机坐标系,图像坐标系,像素坐标系的一些理解

关于世界坐标系&#xff0c;相机坐标系&#xff0c;图像坐标系&#xff0c;像素坐标系的一些理解前言一、各坐标系的含义二、坐标系转换1.世界坐标系与相机坐标系&#xff08;旋转与平移&#xff09;2.相机坐标系与图像坐标系&#xff08;透视&#xff09;3.图像坐标系与像素坐…

【UE4 RTS游戏】02-摄像机运动_完成摄像机在X轴上运动的相关步骤

效果通过控制键盘WS键使得“CameraPawn”进行前后移动步骤将landscape的Z轴位置更改为0删除“PostProcessVolume”将“LightmassImportanceVolume”移入Lighting文件夹内新建一个蓝图类&#xff0c;父类是Pawn&#xff0c;命名为“CameraPawn”将“MyController”重命名为“Cam…

详解JVM

详解JVM 最近学习了&#xff1a;周志明《深入理解高并发编程》&#xff1b;&#xff1b; 特此简要对学习做了部分总结&#xff0c;方便后续对JVM相关知识的完善和巩固&#xff1b; 若想深入了解学习&#xff0c;可阅读上述参考原著&#xff1b; Java内存区域与OOM 运行时数据…

大数据 | (三)centos7图形界面无法执行yum命令

大家好&#xff0c;今天是三八女神节了&#xff01; 你知道吗&#xff1f;世界上第一位电脑程序设计师是名女性&#xff0c;Ada Lovelace (1815-1852)。 她是一位英国数学家兼作家&#xff0c;第一位主张计算机不只可以用来算数的人&#xff0c;也发表了第一段分析机用的演算…

vector中迭代器失效的问题及解决办法

目录 vector常用接口 vector 迭代器失效问题 vector中深浅拷贝问题 vector的数据安排以及操作方式&#xff0c;与array非常相似。两者的唯一差别在于空间的运用的灵活性。array 是静态空间&#xff0c;一旦配置了就不能改变&#xff1b;要换个大(或小) 一点的房子&#x…

CorelDRAW Graphics Suite2023更新内容介绍

懂设计的职场人都知道这款软件&#xff0c;CorelDRAW是一款非常高效的矢量图形设计软件。CorelDRAW操作界面简洁易懂&#xff0c;能够为用户提供精确地创建物体的尺寸和位置的功能&#xff0c;减少点击步骤&#xff0c;提高设计效率&#xff0c;节省设计时间。功能比普通的美图…

简单理解TransFormer

背景:听了李宏毅老师关于transformer的讲解&#xff0c;觉得有必要记录一下&#xff0c;里面的PPT都是李宏毅老师的内容(不喜勿喷)1.self-attention在介绍transformer之前&#xff0c;必须先了解self-attention(1) 先将X输入Embedding(a Wx), 然后a乘相关的权重&#xff0c;生…