Python 的运算符和语句(条件、循环、异常)基本使用指南

运算符的分类

  • 算数运算符
  • 赋值运算符
  • 复合赋值运算符
  • 比较运算符
  • 逻辑运算符

算数运算符

运算符描述实例
+1 + 1 输出结果为 2
-1 - 1 输出结果为 0
*2 * 2 输出结果为 4
/10 / 2 输出结果为 5
//整除9 // 4 输出结果为 2
%取余9 % 4 输出结果为 1
**指数2 ** 4 输出结果为 16,2 * 2 * 2 * 2
()小括号小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9

注:

  • 混合运算优先级顺序: () ⾼于 ** ⾼于 * / // % ⾼于 + -

  • 由于算术运算符是 双目运算符 ,即有两个操作数参加运算,当参加运算的两个操作数的类型不一致时,首先转换成同一类型,然后进行运算,否则会提示错误。

    转换的基本规则是:

    • 如果参加算术运算的两个操作数中有一个是 复数 ,则把另一个也转换为复数;
    • 如果两个操作数中有一个是 浮点数 ,则把另一个也换成浮点数;
    • 如果两个操作数中有一个是 长整数 ,则把另一个也转换成长整数。

    转换时不同类型之间的转换必须遵守一定转换方向,例如不可以把一个浮点数转换为一个整数,也不能把一个复数转换为其它数值类型。


赋值运算符

  • 单个变量赋值(简单赋值)

    num = 1
    print ( num )
    
  • 多个变量赋值(序列赋值)

    在序列赋值语句中,等号左侧是元组或列表表示的多个变量,等号右侧是元组、列表或字符串等序列表示的数据。Python 按先后顺序依次将数据赋值给变量。

    num1, float1, str1 = 10, 0.5, 'hello world'
    print(num1)
    print(float1)
    print(str1)
    

    注:

    • 等号右侧为字符串时,Python 会将字符串分解为单个字符,依次赋值给各个变量,此时,变量个数和字符个数必须相等,否则会出错;

      a, b, c, d, f = 'hello'
      print(a)
      print(b)
      print(c)
      print(d)
      print(f)
      
    • 序列赋值时,可以在变量名之前使用 *,不带星号的变量仅匹配一个值,剩余的值作为列表赋值给带星号的变量。

      a, b, *c = 'hello'
      print(a)
      print(b)
      print(c)
      
  • 多变量赋相同值(多目标赋值)

    a = b = 10
    print(a)
    print(b)
    

复合赋值运算符

运算符描述实例
+=加法赋值运算符c += a 等价于 c == c + a
-=减法赋值运算符c -= a 等价于 c == c - a
*=乘法赋值运算符c *= a 等价于 c == c * a
/=除法赋值运算符c /= a 等价于 c == c / a
//=整除法赋值运算符c //= a 等价于 c == c // a
%=取余法赋值运算符c % = a 等价于 c == c % a
**=幂赋值运算符c **= a 等价于 c = c ** a

比较运算符

运算符描述
==判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则为假(False)
!=不等于。如果两个操作数的结果不相等,则条件结果为真(True),否则为假(False)
>运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假
<运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假
>=运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于等于,则条件为真,否则为假
<=运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于等于,则条件为真,否则为假

逻辑运算符

运算符逻辑表达式描述实例
andx and y布尔"与":x 和 y 均为 True,则 x and y 为 True,否则为 FalseTrue and False,返回 False
orx or y布尔"或":x 和 y 均为 False,则 x and y 为 False,否则为 TrueTrue or False,返回 True
notnot x布尔"非":如果 x 为 True,返回 False。如果 x 为 False,返回 Truenot True,返回 False

三元运算符

在 Python 中,三元运算符(也称为条件运算符)是一种简洁的方式来编写条件表达式

  • 语法结构如下:

    value_if_true if condition else value_if_false# 示例
    x = 10
    y = 20
    max_value = x if x > y else y		# 输出:20
    

条件语句(if-elif-else)

  • if 语句

    if 条件:条件成⽴执⾏的代码1条件成⽴执⾏的代码2......
    
  • if…else…

    if 条件:条件成⽴执⾏的代码......
    else:条件不成⽴执⾏的代码......
    
  • 多重判断

    if 条件1:条件1成⽴执⾏的代码......
    elif 条件2:条件2成⽴执⾏的代码......
    ......
    else:以上条件都不成⽴执⾏执⾏的代码
    
  • if 嵌套

    if 条件1:条件1成⽴执⾏的代码......if 条件2:条件2成⽴执⾏的代码......
    

循环语句(for、while)

  • for 循环

    for 循环是 Python 中最常用的循环语句之一,可以遍历任何序列,如一个列表或者一个字符串。

    基本语法为:

    for variable in sequence:# 循环体
    [else]# 循环体
    
    • variable :表示变量名
    • sequence :表示要遍历的序列

    示例:

    # 遍历列表或元组
    for number in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:print(number**2)# 遍历字符串
    for char in "hello world":print(char.upper())# 遍历字典
    d = {'apple': 2, 'banana': 3, 'orange': 4}
    for key, value in d.items():print(key, value)# 遍历文件内容
    with open('file.txt', 'r') as f: for line in f:print(line.strip())
    
  • while 循环

    基本语法:

    while 条件:# 循环体
    [else]# 循环体
    

    示例:

    fruits = ['apple', 'banana', 'orange', 'grape']
    i = 0
    while i < len(fruits):print(fruits[i])i += 1
    
  • break 语句可以跳出 for 和 while 的循环体,如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

  • continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

  • pass 语句是空语句,是为了保持程序结构的完整性,pass 不做任何事情,一般用做占位语句


异常的捕获和处理(try-except-finally)

  • try 语句和 except 语句:用于捕获和处理异常

    • try 语句:包含可能会引发异常的代码块。如果在 try 代码块中发生异常,程序将立即跳转到 except 代码块,以执行异常处理操作。
    • except 语句:在 except 语句中,异常对象被赋值给变量 e,可以使用它来获取有关异常的信息。
    • else 语句:可以使用 else 语句来指定当没有异常发生时要执行的代码块
  • finally 语句:指定无论是否发生异常都必须执行的代码块

  • 自定义异常:可以创建自定义异常类,以便根据应用程序需求引发和捕获异常。

  • 代码示例:

    # 自定义异常类
    class MyCustomError(Exception):passtry:  # 可能会引发异常的代码块if some_condition:raise MyCustomError("This is a custom error")	# 抛出自定义异常result = 10 / 0  # 除以零会引发一个异常
    except MyCustomError as e:  # 处理自定义异常print(f"Custom error occurred: {e}")
    except ZeroDivisionError as e:print(f"Division by zero error: {e}")
    except Exception as e:print(f"An error occurred: {e}")
    else:  # 当没有异常发生时要执行的代码块print(f"Result is {result}")
    finally:  # 无论是否发生异常都必须执行的代码块print("This code always runs")
    

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

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

相关文章

应用程序接口(API)安全的入门指南

本文简单回顾了 API 的发展历史&#xff0c;其基本概念、功能、相关协议、以及使用场景&#xff0c;重点讨论了与之相关的不同安全要素、威胁、认证方法、以及十二项优秀实践。 根据有记录的历史&#xff0c;随着 Salesforce 的销售自动化解决方案的推出&#xff0c;首个 Web…

Learn Prompt-经验法则

还记得我们在“基础用法”当中提到的三个经验法则吗&#xff1f; 尝试提示的多种表述以获得最佳结果使用清晰简短的提示&#xff0c;避免不必要的词语减少不精确的描述 现在经过了几页的学习&#xff0c;我认为是时候引入一些新的原则了。 3. 一个话题对应一个chat​ ChatG…

新一代爬虫工具 katana 配置及使用

新一代爬虫工具 katana 配置及使用。 功能&#xff1a; 快速且完全可配置的网络爬行 标准和无外设模式支持 JavaScript 解析/爬网 可定制的自动表单填写 范围控制 - 预配置字段/正则表达式 可自定义的输出 - 预配置字段 输入 - 标准输入、URL 和列表 输出 - 标准输出、…

非独立随机变量的概率上界估计

目前的概率论或者随机变量书籍过分强调对独立随机变量的大数定律&#xff0c;中心极限定理&#xff0c;遗憾上界的估计。而对于非独立随机变量的研究很少&#xff0c;在《概率论的极限定理》中曾给出过一般随机变量求和的渐进分布簇的具体形式&#xff0c;然而形式却太过复杂。…

常见的数码管中的引脚分布情况

简单介绍 数码管&#xff0c;实际就是用了7段亮的线段表示常见的数字或字符。常见的像下面几种&#xff08;图片是网络中的截图&#xff09;。事件中使用到的知识还是单片机中最基础的矩阵扫描。记得其中重要的有“余晖效应”&#xff0c;好像是要把不用的亮段关闭&#xff0c…

谁在遥遥领先

结合HC发布的最新消息以及外围爆料&#xff0c;预计华为将在发布会上推出7款新品&#xff0c;包括智能手机、平板电脑、智能电视、智能手表、耳机和其他智能配件。这其中&#xff0c;最受期待的肯定是Mate系列真正的底牌——Mate60 RS&#xff0c;亦或更高端的手机产品。 具体…

.NET Upgrade Assistant 升级 .NET MAUI

.NET Upgrade Assistant 是一种可帮助您将应用程序升级到最新的 .NET版本 的工具&#xff0c;并且您可以使用这个工具将您的应用程序从旧平台&#xff08;例如 Xamarin Forms 和 UWP&#xff09;迁移到新的平台。此外&#xff0c;这个新版本的工具&#xff0c;可以让您在不更改…

fastadmin 基本使用配置

fastadmin 版本 1.3.5 thinkphp 版本 5.0.25 配置 cache 为 redis 保存 // ---------------------------------------------------------------------- // | 缓存设置 // ---------------------------------------------------------------------- cache …

[交互]AJAX

[交互]AJAX 创建 XMLHttpRequest发送请求服务器响应XMLHttpRequest readyState 状态值响应数据请求状态变更回调函数XMLHttpRequest status 的值常用状态码设置 AJAX 是技术&#xff0c;不是工具&#xff0c;区别于 axios、fetch、$.ajax 等(封装工具)现有交互工具,是用于改变部…

【C++深入浅出】日期类的实现

目录 一. 前言 二. 日期类的框架 三. 日期类的实现 3.1 构造函数 3.2 析构函数 3.3 赋值运算符重载 3.4 关系运算符重载 3.5 日期 /- 天数 3.6 自增与自减运算符重载 3.7 日期 - 日期 四. 完整代码 一. 前言 通过前面两期类和对象的学习&#xff0c;我们已经对C的…

Mysql的定时备份与恢复

MySQL定时备份与还原 MySQL备份方案 物理备份 这种备份方式将数据库的实际文件复制到另一个位置。常见的物理备份工具包括mysqldump和Percona XtraBackup。具体操作如下&#xff1a; 使用mysqldump 命令备份数据库&#xff1a; mysqldump -u username -p database_name >…

【微信小程序】项目初始化

| var() CSS 函数可以插入一个自定义属性&#xff08;有时也被称为“CSS 变量”&#xff09;的值&#xff0c;用来代替非自定义 属性中值的任何部分。 1.初始化样式与颜色 view,text{box-sizing: border-box; } page{--themColor:#ad905c;--globalColor:#18191b;--focusColor…

RHCSA 重定向、vim练习题

1.重定向练习题 (1)新建一个文件redirect.txt&#xff0c;并在其中写入20210804RHCSA,保存并退出 先输入命令 [rootlocalhost ~]# vim redirect.txt进入vim编辑器后&#xff0c;按快捷键“i”进入编辑模式&#xff0c;再写入数据&#xff0c;写完之后按“esc"键退出编辑…

多款大模型向公众开放,百模大战再升级?

作为一种使用大量文本数据训练的深度学习模型&#xff0c;大模型可以生成自然语言文本或理解语言文本的含义&#xff0c;是通向人工智能的一条重要途径。大模型可以应用于各种机器学习任务&#xff0c;包括自然语言处理、计算机视觉、语音识别、机器翻译、推荐系统、强化学习等…

vue项目通过json-bigint在前端处理java雪花id过长导致失去精度问题

这里 我简单模仿了一个接口 这里 我单纯 返回一个long类型的雪花id 然后 前端 用 axios 去请求 大家知道 axios 会对请求数据做一次处理 而我们 data才是拿到我们java这边实际返回的东西 简单说 就是输出一下我们后端返回 的内容 这里 我们网络中显示的是 35866101868095488…

Mysql树形表的两种查询方案(递归与自连接)

你有没有遇到过这样一种情况&#xff1a; 一张表就实现了一对多的关系&#xff0c;并且表中每一行数据都存在“爷爷-父亲-儿子-…”的联系&#xff0c;这也就是所谓的树形结构 对于这样的表很显然想要通过查询来实现价值绝对是不能只靠select * from table 来实现的&#xff0…

Ubuntu 22.04安装过程

iso下载地址 Ubuntu Releases 1.进入引导菜单 选择Try or Install Ubuntu Server安装 2.选择安装语言 默认选择English 3.选择键盘布局 默认即可 4.选择安装服务器版本 最小化安装 5.配置网络 选择ipv4 选择自定义 DHCP也可 6.配置代理 有需要可以配置 这里跳过 7.软件源 …

Windows配置python(anaconda+vscode方案)的主要步骤及注意事项

Windows配置python&#xff08;anacondavscode方案&#xff09;的主要步骤及注意事项 1、准备工作 anaconda&#xff0c;官网下载&#xff08;直接下载最新版&#xff09;vscode&#xff0c;官网下载 (官网直接下载有可能太慢&#xff0c;可以考虑在国内靠谱的网站上下载&…

第7节-PhotoShop基础课程-视图调整

文章目录 前言1.视图菜单1. 视图操作1.校样颜色 Ctrl Y2.色域警告 Ctrl Shift Y3.像素长宽比 2.显示操作1.大小调整1.Alt 滚轮2.放大选项3.按空格 出现抓手 2.按屏幕大小缩放 Ctrl 0(数字0)3.按实际大小缩放 Ctrl 11.标准屏幕模式2.带有菜单栏的全屏模式3.全屏模式4.只显…

《PostgreSQL事务管理深入解析》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…