Python语法详解module2(运算符、表达式、流程控制)

news2025/1/19 14:23:35

在这里插入图片描述

目录

  • 一、运算符
    • 1. 算术运算符(Arithmetic Operators)
    • 2. 比较运算符(Comparison Operators)
    • 3. 赋值运算符(Assignment Operators)
    • 4. 逻辑运算符(Logical Operators)
    • 5. 位运算符(Bitwise Operators)
    • 6. 成员运算符
  • 二、表达式
    • 1. 算术表达式
    • 2. 比较表达式
    • 3. 逻辑表达式
    • 4. 函数调用表达式
    • 5. 位运算表达式
    • 6. 列表解析表达式
  • 三、流程控制
    • 1.条件判断
      • 单分支选择结构
      • 双分支选择结构
      • 多分支选择结构
      • 嵌套选择
      • `match`语句
      • 代码规范
    • 2.循环
      • 1. `for`循环
      • 2. `while`循环
      • 3.循环控制
        • `break`语句
        • `continue`语句
        • `else`语句

一、运算符

1. 算术运算符(Arithmetic Operators)

  • +:加法运算符,用于将两个数相加。
    示例:
a = 5
b = 3
result = a + b
print(result)  # 输出:8
  • -:减法运算符,用于计算第一个操作数减去第二个操作数。
    示例:
a = 5
b = 3
result = a - b
print(result)  # 输出:2
  • *:乘法运算符,用于计算两个操作数的乘积。
    示例:
a = 5
b = 3
result = a * b
print(result)  # 输出:15
  • /:除法运算符,用于计算第一个操作数除以第二个操作数(结果是浮点数)。
    示例:
a = 5
b = 2
result = a / b
print(result)  # 输出:2.5
  • //:整除运算符,用于计算两个数的整数除法结果。
    示例:
a = 5
b = 2
result = a // b
print(result)  # 输出:2
  • %:取模运算符,返回两个数相除的余数。
    示例:
a = 5
b = 2
result = a % b
print(result)  # 输出:1
  • **:幂运算符,用于计算一个数的指数。
    示例:
a = 2
b = 3
result = a ** b
print(result)  # 输出:8

2. 比较运算符(Comparison Operators)

  • ==:等于,检查两个操作数是否相等。
    示例:
a = 5
b = 5
result = (a == b)
print(result)  # 输出:True
  • !=:不等于,检查两个操作数是否不相等。
    示例:
a = 5
b = 3
result = (a != b)
print(result)  # 输出:True
  • >:大于,检查左操作数是否大于右操作数。
    示例:
a = 5
b = 3
result = (a > b)
print(result)  # 输出:True
  • <:小于,检查左操作数是否小于右操作数。
    示例:
a = 5
b = 3
result = (a < b)
print(result)  # 输出:False
  • >=:大于等于,检查左操作数是否大于或等于右操作数。
    示例:
a = 5
b = 5
result = (a >= b)
print(result)  # 输出:True
  • <=:小于等于,检查左操作数是否小于或等于右操作数。
    示例:
a = 5
b = 3
result = (a <= b)
print(result)  # 输出:False

3. 赋值运算符(Assignment Operators)

  • =:赋值运算符,用于将右侧的值赋给左侧的变量。
    示例:
a = 5
b = a
print(b)  # 输出:5
  • +=:加法赋值运算符,等同于 x = x + y
    示例:
x = 5
y = 3
x += y
print(x)  # 输出:8
  • -=:减法赋值运算符,等同于 x = x - y
    示例:
x = 5
y = 3
x -= y
print(x)  # 输出:2
  • *=:乘法赋值运算符,等同于 x = x * y
    示例:
x = 5
y = 3
x *= y
print(x)  # 输出:15
  • /=:除法赋值运算符,等同于 x = x / y
    示例:
x = 6
y = 2
x /= y
print(x)  # 输出:3.0

4. 逻辑运算符(Logical Operators)

  • and:逻辑与运算符,如果两个操作数都为 True,则条件成立。
    示例:
a = True
b = False
result = (a and b)
print(result)  # 输出:False
  • or:逻辑或运算符,如果两个操作数中有一个为 True,则条件成立。
    示例:
a = True
b = False
result = (a or b)
print(result)  # 输出:True
  • not:逻辑非运算符,用于反转操作数的逻辑状态。
    示例:
a = True
result = not a
print(result)  # 输出:False

5. 位运算符(Bitwise Operators)

  • &:按位与运算符,对操作数的每个位执行与操作。
    示例:
a = 10  # 二进制:1010
b = 12  # 二进制:1100
result = a & b  # 结果为 8(二进制:1000)
print(result)  # 输出:8
  • |:按位或运算符,对操作数的每个位执行或操作。
    示例:
a = 10  # 二进制:1010
b = 12  # 二进制:1100
result = a | b  # 结果为 14(二进制:1110)
print(result)  # 输出:14
  • ^:按位异或运算符,对操作数的每个位执行异或操作。
    示例:
a = 10  # 二进制:1010
b = 12  # 二进制:1100
result = a ^ b  # 结果为 6(二进制:0110)
print(result)  # 输出:6
  • ~:按位取反运算符,对操作数的每个位执行取反操作。
    示例:
a = 10  # 二进制:1010
result = ~a  # 结果为 -11(二进制:-1011)
print(result)  # 输出:-11
  • <<:左移动运算符,将操作数的每个位向左移动指定的位数。
    示例:
a = 5  # 二进制:0101
result = a << 2  # 结果为 20(二进制:10100)
print(result)  # 输出:20
  • >>:右移动运算符,将操作数的每个位向右移动指定的位数。
    示例:
a = 20  # 二进制:10100
result = a >> 2  # 结果为 5(二进制:0101)
print(result)  # 输出:5

6. 成员运算符

成员运算符用于检查某个值是否存在于序列(如列表、元组、集合等)中。

  • in:如果在指定的序列中找到值,返回 True,否则返回 False。
  • not in:如果在指定的序列中找不到值,返回 True,否则返回 False。
my_list = [1, 2, 3, 4]
print(3 in my_list)   # 输出:True
print(5 not in my_list)   # 输出:True

二、表达式

在Python中,表达式(Expression)是由变量、操作符和函数调用等组成的一组代码,它们通过运算得到一个结果。

Python的表达式可以包括以下内容:

  1. 变量和常量:变量是用于存储数据的标识符,而常量是不可变的值。在表达式中,变量可以直接使用,而常量则可以作为操作数参与运算。

  2. 操作符:操作符用于执行各种运算,例如加法、减法、乘法等。Python支持多种操作符,包括算术操作符、比较操作符、逻辑操作符、位操作符等。

  3. 函数调用:表达式中可以包含函数调用,函数会对参数进行计算,并返回结果。函数调用的结果可以作为表达式的一部分。

1. 算术表达式

x = 10
y = 5
result = x + y * 2  # 加法和乘法混合
print(result)  # 输出:20

2. 比较表达式

a = 10
b = 20
result = a > b  # 判断a是否大于b
print(result)  # 输出:False

3. 逻辑表达式

x = 5
y = 10
result = (x < 10) and (y > 5)  # 判断x是否小于10且y是否大于5
print(result)  # 输出:True

4. 函数调用表达式

def square(num):
    return num * num

x = 3
result = square(x) + 2  # 函数调用表达式
print(result)  # 输出:11

5. 位运算表达式

a = 5
b = 3
result = a & b  # 按位与运算
print(result)  # 输出:1

6. 列表解析表达式

列表解析是一种用来简化生成列表的方法。

numbers = [1, 2, 3, 4, 5]
squared_numbers = [x * x for x in numbers]  # 使用列表解析表达式生成平方数列表
print(squared_numbers)  # 输出:[1, 4, 9, 16, 25]

三、流程控制

1.条件判断

单分支选择结构

单分支选择结构通常使用if语句,用于在满足条件时执行一段代码,如果条件不满足则不执行任何操作。

x = 10
if x > 0:
    print("x 是正数")

双分支选择结构

双分支选择结构也使用if语句,但同时包含了一个else分支,用于在条件不满足时执行另一段代码。

x = -5
if x > 0:
    print("x 是正数")
else:
    print("x 是非正数")

多分支选择结构

多分支选择结构使用if、elif(else if的缩写)和else语句,用于在多个条件下执行不同的代码块。

score = 75
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("不及格")

嵌套选择

嵌套选择结构指的是在一个分支结构内部嵌套另一个分支结构,可以实现更复杂的条件控制。

x = 10
if x > 0:
    if x % 2 == 0:
        print("x 是正偶数")
    else:
        print("x 是正奇数")
else:
    print("x 是非正数")

match语句

match语句是Python 3.10中新增的语法,用于模式匹配,可以更清晰地处理多个条件的情况。

match expression:
    case pattern1:
        # 处理pattern1的情况
    case pattern2:
        # 处理pattern2的情况
    ...
    case patternN:
        # 处理patternN的情况
    case _:
        # 匹配其它情况

在这里插入图片描述

在这里插入图片描述

def check_number(x):
    match x:
        case 0:
            print("x是零")
        case 1 | 2 | 3:
            print("x是1、2或3")
        case int(n) if n > 3:
            print(f"x是大于3的整数:{n}")
        case _:
            print("x是其它情况")

check_number(2)
check_number(5)
check_number(-1)

代码规范

在这里插入图片描述

2.循环

在这里插入图片描述

1. for循环

for循环用于遍历序列(如列表、元组、字典等)中的元素,语法如下:

for 变量 in 序列:
    循环体

其中,变量是用于迭代序列中元素的变量名,序列是需要遍历的对象,循环体是在每次迭代中执行的代码块。

# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 遍历字符串
for char in "Python":
    print(char)

# 遍历字典的键值对
person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
    print(key, ":", value)

2. while循环

while循环在条件为真的情况下重复执行代码块,直到条件变为假为止,语法如下:

while 条件:
    循环体

其中,条件是一个表达式,当表达式的值为True时,循环继续执行;当表达式的值为False时,循环结束,执行循环体之后的代码。

# 使用while循环计算1到5的和
total = 0
i = 1
while i <= 5:
    total += i
    i += 1
print("1到5的和为:", total)

# 使用while循环遍历列表
fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

3.循环控制

循环控制用于在循环执行过程中控制循环的行为,包括跳出循环、跳过当前迭代和循环中的其他操作。

break语句
  • break语句用于跳出当前循环,不再执行循环中剩余的代码,直接执行循环之后的代码。
  • 它通常与条件语句结合使用,用于在满足条件时退出循环。
# 使用break语句在找到第一个质数后退出循环
for num in range(2, 10):
    for i in range(2, num):
        if num % i == 0:
            print(num, "不是质数")
            break
    else:
        print(num, "是质数")

在这个示例中,当num能够被i整除时,执行break语句跳出内层循环。

continue语句
  • continue语句用于跳过当前迭代,直接进入下一次迭代。

  • 它通常与条件语句结合使用,用于在满足条件时跳过当前迭代。

# 使用continue语句输出所有偶数
for num in range(1, 11):
    if num % 2 != 0:
        continue
    print(num, "是偶数")

在这个示例中,当num为奇数时,执行continue语句跳过当前迭代,直接进入下一次迭代。

else语句
  • 在Python中,循环还可以与else语句结合使用。

  • else语句在循环正常执行完毕(即没有被break语句中断)时执行,不在循环被break语句中断时执行。

# 使用else语句判断是否存在指定元素
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    if fruit == "orange":
        print("橙子已找到")
        break
else:
    print("橙子未找到")

在这个示例中,当循环未被break语句中断时,执行else语句输出"橙子未找到"。

在这里插入图片描述

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

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

相关文章

低代码专题 | 什么是低代码?低代码是什么意思?最详细解释!

什么是低代码&#xff0c;低代码是什么意思&#xff1f;低代码到底有什么用&#xff1f;企业该如何用低代码赋能&#xff1f;......因为现在太多碎片化信息了&#xff0c;所以大家对于一个概念的理解都是零散的。 故给大家开一个专题&#xff0c;将低代码给大家掰开揉碎了讲清…

[C++]vector的模拟实现

下面是简单的实现vector的功能&#xff0c;没有涉及使用内存池等复杂算法来提高效率。 一、vector的概述 &#xff08;一&#xff09;、抽象数据类型定义 容器&#xff1a;向量&#xff08;vector&#xff09;vector是表示大小可以变化的数组的序列容器。像数组一样&#xf…

JavaWeb基础(JQuery,XML及解析)

这个阶段有点拖沓了&#xff0c;因为事情比较多&#xff0c;耽搁了一段时间&#xff0c;学习的主要内容为JQuery和XML&#xff0c;因为vue的出现&#xff0c;JQuery技术现在已经不流行了&#xff0c;但是不流行不代表我不会&#xff0c;JQuery最最最最核心的就是他的$()核心函数…

关于yolov8识别滑块关键点

1,images,annotations创建 IMAGES:放图片材料的 ANNTATIONS:放labelImg标记的xml文件 2,labels,txt怎么来的 labels :可以手动创建,里面还配置了train,val,test文件夹。可手动(以下代码中没有写) txt:由一下代码自动生成,前提是images,annotations需要自己去创建 …

从零入手人工智能(1)——卷积神经网络

1.前言 本人作为一名单片机工程师&#xff0c;近期对人工智能领域产生了浓厚的兴趣&#xff0c;并开始了我的探索之旅。人工智能是一个博大精深的领域&#xff0c;我相信有许多志同道合的朋友也希望涉足这个领域&#xff0c;因此我写下这篇文章&#xff0c;旨在详细记录我学习…

Python 组合序号

import pandas as pd # 创建一个示例数据框 data { group: [A, A, A, B, B, C, C, C, C], value: [3, 1, 2, 5, 4, 6, 9, 7, 8] } df pd.DataFrame(data) # 先按group分组&#xff0c;再按value列升序排序 df_sorted_asc df.sort_values(by[group, value]) # 使…

【JavaEE 进阶(二)】Spring MVC(下)

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多进阶知识 目录 1.前言2.响应2.1返回静态界面2.2返回数据2.3返回HTML代码 3.综合练习3.1计算器3.2用户登…

JAVA小案例-分别计算100以内奇数和偶数的和

JAVA小案例-分别计算100以内奇数和偶数的和 没啥可说的&#xff0c;就是for循环加if分支&#xff0c;也可以用while写。 代码如下&#xff1a; public class Jiouhe {/*** 分别计算100以内奇数和偶数的和* param args*/public static void main(String[] args){int sum10;in…

【CT】LeetCode手撕—146. LRU 缓存

目录 题目1-思路1-1 LRU知识点1-2 实现思路LRU的子数据结构① 双向链表 DLinkedNode 结点定义② 其他字段 LRU实现的方法① 初始化——LRUCache中初始化② public int get(int key) 取元素方法③ public void put(int key, int value) 存元素方法 2-实现⭐146. LRU 缓存——题解…

mysql引入表名称的注意事项

1、遇到问题 mapper中的文件是这样的 解析出来的sql是这样的 sql显示为&#xff1a;select * from ‘tableName’ 2、解决方法 mapper文件种使用${tableName}而不是#{tableName}

用户画像知识点补充——多数据源

引入 针对用户画像项目来说&#xff08;产品&#xff09;必须要支持从多种数据源加载业务数据&#xff0c;构建用户标签。 在之前的标签模型开发中&#xff0c;主要是为了简化开发复杂度&#xff0c;业务数据统一存储到HBase表中。 数据源包含如下几个方面&#xff1a; 存储H…

【面向就业的Liux基础】从入门到熟练,探索Linux的秘密(一)

主要帮助大家面向工作过程中Linux系统常用的命令联系&#xff0c;采用极致的实用主义&#xff0c;帮助大家节省时间。 文章目录 前言 一、linux系统 二、linux系统基本命令 1.Linux系统的目录结构 2. 常用命令介绍 3.命令演示 4.作业练习 总结 前言 主要帮助大家面向工作过程中…

人脸识别——OpenCV

人脸识别 创建窗口创建按钮设置字体定义标签用于显示图片选择并显示图片检测图片中的人脸退出程序返回主界面 创建窗口 导入tkinter库&#xff0c;创建窗口&#xff0c;设置窗口标题和窗口大小。 import tkinter as tkwin tk.Tk() win.title("人脸识别") win.geom…

自动控制:控制系统的灵敏度分析

自动控制&#xff1a;控制系统的灵敏度分析 引言 灵敏度问题在控制系统设计中至关重要。灵敏度衡量的是系统对参数变化和扰动的响应程度。本文将详细探讨灵敏度函数的概念&#xff0c;并推导出开环和闭环控制系统在前向路径和反馈路径元素扰动下的灵敏度表达式。 灵敏度概念…

八、细化XML语句构建器,完善静态SQL解析

这一节主要是优化XML解析SQL部分&#xff0c;流程大概为&#xff1a; 1.XMLConfigBuilder解析配置文件&#xff0c;先解析数据源信息&#xff0c;然后再解析SQL信息&#xff0c;拿到mapper元素下的地址 2.XMLMapperBuilder对上面拿到的mapper地址进行处理&#xff0c;根据标签…

LMDeploy Windows 平台最佳实践

Windows 是全球范围内最流行的操作系统之一&#xff0c;许多企业和个人用户都在使用 Windows 系统。通过在 Windows 系统上支持 LLM 的推理&#xff0c;许多办公软件、聊天应用等都可以受益于 LLM 的技术&#xff0c;为用户提供更智能、更个性化的服务。LMDeploy 支持在 Window…

创建 MFC DLL-使用DEF文件

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 利用“MFC动态链接库”项目模板可以创建MFC DLL。DLL文件与可执行文件非常相似&#xff0c;不同点在于DLL包含有导出表(Export Table)。导出表包含DLL中每个导出函数的名字…

vue3 todolist 简单例子

vue3 简单的TodList 地址&#xff1a; https://gitee.com/cheng_yong_xu/vue3-composition-api-todo-app-my 效果 step-1 初始化项项目 我们不采用vue cli 搭建项目 直接将上图文件夹&#xff0c;复制到vscode编辑器&#xff0c;清空App.vue的内容 安装包 # 安装包 npm…

css动态导航栏鼠标悬停特效

charset "utf-8"; /*科e互联特效基本框架CSS*/ body, ul, dl, dd, dt, ol, li, p, h1, h2, h3, h4, h5, h6, textarea, form, select, fieldset, table, td, div, input {margin:0;padding:0;-webkit-text-size-adjust: none} h1, h2, h3, h4, h5, h6{font-size:12px…

【c++入门】函数重载,引用,内联函数,auto

函数重载 函数重载概念 什么是函数重载&#xff1f; 函数重载&#xff1a;是函数的一种特殊情况&#xff0c;C允许在同一作用域中声明几个功能类似的同名函数&#xff0c;这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同&#xff0c;常用来处理实现功能类似数据类…