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

在这里插入图片描述

目录

  • 一、运算符
    • 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语句输出"橙子未找到"。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

cocos creator3.7版本拖拽事件处理

前言&#xff1a;网上能找到的资料都太落后了&#xff0c;导致哥们用AI去写&#xff0c;全是瞎B写&#xff0c;版本都不对。贴点实际有用的。别老捣鼓你那破convertToNodeSpaceAR或者convertToNodeSpace了。 核心代码 touch.getDeltaX() touch.getDeltaY() 在cocoscreator3…

Python | 刷题日记

1.海伦公式求三角形的面积 area根号下&#xff08;p(p-a)(p-b&#xff09;(p-c)) p是周长的一半 2.随机生成一个整数 import random xrandom.randint(0,9)#随机生成0到9之间的一个数 yeval(input("please input:")) if xy:print("bingo") elif x<y:pri…

sql 查询 不满足 (一个教师编号 的角色 (role =‘2‘or(role=‘1‘and role =‘0‘)) )

sql 查询 不满足 &#xff08;一个教师编号 的角色 &#xff08;role 2’or&#xff08;role1’and role ‘0’&#xff09;&#xff09; &#xff09; 准备 一个 teacher 表 和数据 表 teacher 和数据 -- ---------------------------- -- Table structure for teacher -- …

[Algorithm][动态规划][回文串问题][分割回文串 II][最长回文子序列][让字符串成为回文串的最少插入次数]详细讲解

目录 1.分割回文串 II1.题目链接2.算法原理详解3.代码实现 2.最长回文子序列1.题目链接2.算法原理详解3.代码实现 3.让字符串成为回文串的最少插入次数1.题目链接2.算法原理详解3.代码实现 1.分割回文串 II 1.题目链接 分割回文串 II 2.算法原理详解 思路&#xff1a; 确定状…

现代操作系统(第四版)课后习题-4.文件系统

四、文件系统 1.给出文件/etc/passwd的五种不同的路径名 在Unix和类Unix系统中&#xff0c;/etc/passwd 是系统中所有用户账户信息的标准文件。 绝对路径&#xff1a;直接使用文件的绝对路径来访问。 /etc/passwd使用环境变量&#xff1a;如果设置了环境变量指向某个目录&…

Java中的接口与抽象类:区别与联系

Java中的接口与抽象类&#xff1a;区别与联系 在Java中&#xff0c;interface&#xff08;接口&#xff09;和abstract class&#xff08;抽象类&#xff09;是两种重要的抽象类型&#xff0c;用于定义对象的抽象行为和结构。虽然Java 8之后接口引入了默认方法和静态方法&…

磁场定向控制转速环PI调节器参数整定

前言 本章节采用工程设计的方法&#xff0c;推导转速环PI调节器参数的计算公式&#xff0c;由此来设计永磁同步电机磁场定向控制的转速外环PI调节器参数&#xff0c;并通过Matlab/Simulink对设计的PI调节器进行Bode图分析。 一、调节器的工程设计方法 要实现调节器的工程设计…

kube-promethesu新增k8s组件监控(etcd\kube-controller-manage\kube-scheduler)

我们的k8s集群是二进制部署 一、prometheus添加自定义监控与告警&#xff08;etcd&#xff09; 1、步骤及注意事项&#xff08;前提&#xff0c;部署参考部署篇&#xff09; 1.1 一般etcd集群会开启HTTPS认证&#xff0c;因此访问etcd需要对应的证书 1.2 使用证书创建etcd的…

[next.js]pwa缓存

配置Next.js (v14 App Router模式) 使其支持PWA缓存&#xff0c;配置server worker和mainfest.json&#xff0c;让项目支持离线访问和可安装。 安装依赖next-pwa npm i next-pwa配置next.config.js const path require(path);const withPWAInit require(next-pwa);// 判断…

俄罗斯人有哪些常用的口头禅,柯桥零基础俄语培训

Хватит! 够了&#xff01; -Хватит, не стоит больше шуметь! 够了, 不要再吵了! -Это тебя не касается! 这与你无关&#xff01; Блин! 靠&#xff01; Блин这个词绝对是俄罗斯人最爱用的口语表达之一&#xff0c;…

给快高考的儿子的一封信:关于选择计算机专业

亲爱的儿子&#xff0c; 你好&#xff01; 时间过得真快&#xff0c;转眼间你就要高考了&#xff0c;这不仅是你人生中的一个重要时刻&#xff0c;也是我们全家都非常关注的节点。妈妈告诉我&#xff0c;你对计算机专业很感兴趣&#xff0c;希望我能给你一些建议。我很高兴听…

阿里云邮件推送配置教程:有哪些关键步骤?

阿里云邮件推送服务如何配置&#xff1f;如何设置SMTP服务器&#xff1f; 阿里云作为国内领先的云服务提供商&#xff0c;其邮件推送服务具有高效、稳定和可靠的特点&#xff0c;因此备受企业青睐。Aok将介绍阿里云邮件推送配置教程的关键步骤&#xff0c;并简要提及AokSend的…

重要经济数据对行情的影响有多大?

金融市场上的消息非常多&#xff0c;可以来自不同国家、不同大型企业&#xff0c;也可以由不同机构统计公布&#xff0c;甚至是各国政府或中央银行的发表。在宏观经济层面上&#xff0c;所有政经消息都属于金融市场的风险事件&#xff0c;大多能引起市场波动&#xff0c;因此投…

LC 26删除有序数组中的重复项

去重题&#xff0c;双指针&#xff0c;&#xff0c;因为题干说原地删除&#xff0c;且nums其余元素不重要。一个cur记录当前不重复的数应该插在第几位了&#xff0c;for循环里的i相当于是第二个指针&#xff08;右指针&#xff09;&#xff0c;遍历数组来找不重复的元素 class …

2024/6/5(页面静态化,熔断降级,降级处理,ES搜索实例,课程信息同步,认证授权,单点登录,Spring Security,OAuth2,授权模式)

elasticsearch目录下执行docker-compose up -d 完美解决 执行下面这个命令 curl -XDELETE localhost:9200/.kibana_task_manager_7.12.1_001 重启es和kibana服务

【知识】NP及其相关问题的概念

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 NP问题 1. P 类问题 2. NP 类问题 3. NP-Complete 问题 4. NP-Hard 问题 5. NP-Hardness 例子 &#x1f31f; 其他问题 1. co-NP 2. PS…

html写一个table表

HTML代码&#xff1a; <div class"table_box w-full"><div class"title_top">XX表</div><div class"title_btm">(<input class"input input_1" type"text">xxxx)</div><table class…

爬虫之反爬思路与解决手段

阅读时间建议&#xff1a;4分钟 本篇概念比较多&#xff0c;嗯。。 0x01 反爬思路与解决手段 1、服务器反爬虫的原因 因为爬虫的访问次数高&#xff0c;浪费资源&#xff0c;公司资源被批量抓走&#xff0c;丧失竞争力&#xff0c;同时也是法律的灰色地带。 2、服务器反什么…

【成品设计】基于华大hc32F005c6ua的读取NFC卡

《基于华大hc32F005c6ua的读取NFC卡》 整体功能&#xff1a; 单片机:华大hc32F005c6ua 1、支持单片机spi接口读取nfc读卡器芯片rc522读写数据 2、读取到的数据可以通过单片机uart接口通信&#xff0c;上报给上位机&#xff08;485主机&#xff09; 3、uart接口支持modbus协议…

我国液碱产量逐渐增长 行业集中度有望不断提升

我国液碱产量逐渐增长 行业集中度有望不断提升 液碱是由氢氧化钠&#xff08;NaOH&#xff09;、氢氧化钾&#xff08;KOH&#xff09;等化合物以及水组成的一种碱性化合物。液碱的相对分子质量为40.00&#xff0c;密度为1.318g/cm&#xff0c;在常温常压下多表现为一种无色、无…