【Python】05、Python运算符

文章目录

    • 1.算术运算符
    • 2.赋值运算符
    • 3.关系运算符
    • 4.逻辑运算符
      • 4.1 布尔值逻辑运算
      • 4.2 非布尔值的逻辑运算符
    • 5.条件运算符
    • 6.运算符优先级

运算符也称为操作符,可以对一个或多个值进行运算或各种操作。比如+、-、=都属于运算符

1.算术运算符

  • 加法

如果是两个字符串之间进行加法,则会进行字符串拼接

  • 减法运算符

整数、浮点数,布尔值可进行运算

  • 乘法(*、**)
  1. * 乘法运算符,如果将字符串和数字相乘,则会对字符串进行复制

a = 5 - True
print(a)


输出:4


  1. ** 表示幂运算
    a = 3 ** 2 // 表示计算32
    print(a);

输出:9

  • 除法(/、//)

/ 除法运算,运算结果返回的是浮点型,除数不能为0


// 表示整除,只会保留计算后的整数位
a = 10 // 3
print(a)


输出:3

  • 取模

计算余数
a = 10 % 4 // a表示10除以4的余数
print(a)


输出:2

2.赋值运算符

  • =

赋值运算符指的是等号(=),可以将等号右侧的值赋值给等号左侧的变量
a = 10
print(a)


输出:10

  • +=

a += 5 等价于 a = a + 5;
以此类推:
a -= 5 等价于 a = a - 5
a *= 5 等价于 a = a * 5
a **= 5 等价于 a = a ** 5
a /= 5 等价于 a = a / 5
a //= 5 等价于 a = a // 5
a %= 5 等价于 a = a % 5

3.关系运算符

关系运算符用来比较两个值之间的关系,总会返回一个布尔值

  • > 比较左边的值是否大于右边的值,返回布尔值结果
  • >= 比较左边的值是否大于等于右边的值,返回布尔值结果
  • < 比较左边的值是否小于右边的值,返回布尔值结果
  • <= 比较左边的值是否小于等于右边的值,返回布尔值结果
  • == 比较左边的值是否等于右边的值,返回布尔值结果 # 这里比较的是两个对象的值,而不是id
  • != 比较左边的值是否不等于右边的值,返回布尔值结果
  • is 比较两个对象是否为同一个对象,比较的是对象的id
  • is not 比较两个对象是否不是同一个对象,比较的是对象的id

在Python中可以对两个字符串进行大于(等于)或小于(等于)的运算,当对字符串进行比较时,实际比较的是字符串的UniCode编码值,比较的时候是逐位进行比较

4.逻辑运算符

4.1 布尔值逻辑运算

逻辑运算符主要用来做一些逻辑判断

  • not 逻辑非,
    not可以对符号右侧的值进行非运算;
    对于非布尔值,非运算会先将其转化为布尔值,然后再取反

a = True;
a = not a;
print(a)
输出:False


  • and 逻辑与
    and可以对符号两侧的值进行与运算
    Python中的与运算是 短路与,当匹配值是False时,直接返回不再比较后面的值

result = True and True #结果: True
result = True and False# 结果:False
result = False and True # 结果:False
result = False and False# 结果:False


  • or 逻辑或
    or可以对符号两侧的数值进行或运算
    或运算只要有一个True就返回True

Python中的或运算是 短路或,当匹配值是True时,直接返回不再比较后面的值


result = True or True #结果: True
result = True or False# 结果:True
result = False or True # 结果:True
result = False or False# 结果:False

4.2 非布尔值的逻辑运算符

对非布尔值进行逻辑运算时,Python会将其当做布尔值运算,最终会返回原值

  • 与运算
    与运算规则:与运算是找False,如果找到了False则直接返回,不看第二个值,如果第一个值不是False则直接返回第二个值

result = 1 and 2
print(result)
输出:2

  • 说明:与运算是找False,上式中1 and 2 中,先匹配1,是True,需要执行下一步判断,匹配2的时候不管是什么值,都会将2返回,因为1已经判断结束了

result = 2 and 1 # 输出结果:1
result = 0 and 1 # 输出结果:0
result = 0 and None # 输出结果:0

  • 或运算
    运算规则:或运算是找True,如果找到了True则直接返回,不看第二个值,如果第一个值不是True则直接返回第二个值

result = 2 or 1 # 输出结果:2
result = 1 or 0 # 输出结果:1
result = 0 or None # 输出结果:None

  • 补充

逻辑运算符可以连用,表示中间值与两边进行比较
result = 1 < 2 < 3 #相当于 1 < 2 and 2 < 3
print(result) #输出结果:True

5.条件运算符

条件运算符也称为三元运算符。

  • 语法
  1. 结构:语句1 if 条件表达式 else 语句 2
    执行流程:先对条件表达式进行求值判断,如果判断结果为True,执行语句1,否则执行语句2

print(‘Hello’) if True else print(‘World’) # 输出结果:Hello
print(‘Hello’) if False else print(‘World’) # 输出结果:World

6.运算符优先级

和数学运算中一样,Python中运算符也有优先级,比如先乘除后加减
运算符的优先级可根据优先级表格查询,在表格中位置越靠下的运算符优先级越高,优先级越高的越优先计算,如果优先级一样,则从左向右计算
运算符优先级
无需硬记,如果在开发中遇到优先级不清楚的,可以通过小括号来改变运算顺序

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

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

相关文章

2025-03-06 学习记录--C/C++-PTA 习题6-6 使用函数输出一个整数的逆序数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h>int reverse( int number );int main…

简记_硬件系统设计之需求分析要点

目录 一、 功能需求 二、 整体性能需求 三、 用户接口需求 四、 功耗需求 五、 成本需求 六、 IP和NEMA防护等级需求 七、 认证需求 功能需求 供电方式及防护 供电方式&#xff1a;市电供电、外置直流稳压电源供电、电池供电、PoE&#xff08;Power Over Ether…

[原创](Modern C++)现代C++的关键性概念: 利用“概念(Concepts)“,可以优雅地约束模板参数

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse…

Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks

Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks ​#paper/GFM/GNN-BASED#​ #paper/⭐⭐⭐#​ 注意&#xff1a;这篇文章是每个图一个GCN模型&#xff0c;而不是所有图一个GCN 模型 算是最早的涉及异配图的prompt了 贡献和动机&#xff1a; 非对…

宝塔 Linux 计划任务中添加运行项目网站PHP任务-定时任务

一、指定php版运行&#xff0c; cd /www/wwwroot/www.xxx.com/ && /www/server/php/56/bin/php think timedtasks start >> /tmp/timedtasks.log 2>&1 二、不指定php版 cd /www/wwwroot/www.xxx.com/ && php think timedtasks start >> …

【电控笔记z29】扰动估测器DOB估测惯量J-摩擦系数B

基本原理 扰动估测器的核心思想是通过向电机系统施加特定的扰动信号&#xff0c;观察系统响应的变化&#xff0c;然后利用系统的动态模型和控制理论来估计未知参数&#xff0c;如惯量和摩擦系数 。一般基于电机的运动方程建立数学模型&#xff0c;结合观测到的电机实际运行数据…

要查看 SQLite 数据库中的所有表,可以通过查询 SQLite 的系统表 sqlite_master

要查看 SQLite 数据库中的所有表&#xff0c;可以查询 SQLite 的系统表 sqlite_master。 每个 SQLite 数据库都包含一个名为 sqlite_master 的系统表。该表定义了数据库的模式&#xff0c;存储了数据库中所有表、索引、视图和触发器等对象的信息。 通过查询 sqlite_master&am…

如何在Spring Boot中读取JAR包内resources目录下文件

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 以下是如何在Spring Boot中读取JAR包内resources目录下文件的教程&#xff0c;分为多种方法及详细说明&#xff1a; 方法1&#xff1a;使用 ClassPathResour…

清华大学DeepSeek赋能家庭教育【附下载链接】

核心要点&#xff1a; DeepSeek通过基础模型&#xff08;V3&#xff09;、深度思考模型&#xff08;R1&#xff09;及联网模型&#xff0c;为家庭教育提供分层支持&#xff1a;V3用于作业辅导&#xff0c;R1培养批判性思维&#xff0c;联网模型助力探究性学习。家长需遵循目标导…

C语言番外篇(5)-------------->作用域与生命周期

作用域与生命周期是非常重要的编程知识。本篇文章使用C语言讲述作用域与生命周期。 一、作用域 在程序设计中&#xff0c;变量并非总是有效的&#xff0c;可以使用的区域就是作用域。 1.1局部变量的作用域 在{}中的都是局部变量&#xff0c;只是作用大小不一样而已。我们可…

若依前后端分离版使用Electron打包前端Vue为Exe文件

1.前言 本文详细介绍如何使用electron将若依框架前后端分离版的前端Vue页面打包为Exe文件&#xff0c;并且包括如何实现应用更新。使用若依基础代码体现不出打包功能&#xff0c;因此我使用开发的文件管理系统&#xff0c;介绍上述过程&#xff0c;具体可以查看我的文章《若依…

Linux——Docker容器内MySQL密码忘记了如何查看

目录 查看正在运行的MySQL的容器ID 方法一&#xff1a;查看MySQL容器的日志里的密码 方法二&#xff1a;通过环境变量密码登录 方法三&#xff1a;修改密码 查看正在运行的MySQL的容器ID docker ps 方法一&#xff1a;查看MySQL容器的日志里的密码 docker logs [MySQL的容器…

康谋分享 | 3DGS:革新自动驾驶仿真场景重建的关键技术

随着自动驾驶技术的迅猛发展&#xff0c;构建高保真、动态的仿真场景成为了行业的迫切需求。传统的三维重建方法在处理复杂场景时常常面临效率和精度的挑战。在此背景下&#xff0c;3D高斯点阵渲染&#xff08;3DGS&#xff09;技术应运而生&#xff0c;成为自动驾驶仿真场景重…

大模型架构记录2

一 应用场景 1.1 prompt 示例 1.2 自己搭建一个UI界面&#xff0c;调用接口 可以选用不同的模型&#xff0c;需要对应的API KEY 二 Agent 使用 2.1 构建GPT

【C++】二叉树相关算法题

一、根据二叉树创建字符串 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号和整数组成的字符串&#xff0c;返回构造出的字符串。 空节点使用一对空括号对 “()” 表示&#xff0c;转化后需要省略所有…

【机械视觉】C#+visionPro联合编程———【一、C# + VisionPro 联合编程详解以及如何将visionPro工具加载到winform】

机械视觉与 C# VisionPro 联合编程详解 目录 机械视觉与 C# VisionPro 联合编程详解 概念 应用场景 1. 工业检测与质量控制缺陷检测 2. 定位与机器人引导 3. 识别与分类 4. 复杂流程控制 将visionPro工具加载到winform 环境准备 一、创建winform项目 二、打开窗体…

修改hosts文件,修改安全属性,建立自己的DNS

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

对NXP提供的BSP里边所使用的u-boot的环境变量`bootcmd`的解析

为什么我们要解析环境变量bootcmd&#xff1f; 承接博文 https://blog.csdn.net/wenhao_ir/article/details/145902134 继续解析u-boot的环境变量bootcmd。 为什么要解析u-boot的这个环境变量bootcmd&#xff1f;因为如果u-boot在倒计时完后,首先执行的是就是下面这条命令&am…

NSSCTF [SWPUCTF 2024 秋季新生赛]金丝雀

5948.[SWPUCTF 2024 秋季新生赛]金丝雀 canary绕过和64位的ret2libc(格式化字符串泄露) (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file xn xn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.…

神经网络中梯度计算求和公式求导问题

以下是公式一推导出公式二的过程。 表达式一 ∂ E ∂ w j k − 2 ( t k − o k ) ⋅ sigmoid ( ∑ j w j k ⋅ o j ) ⋅ ( 1 − sigmoid ( ∑ j w j k ⋅ o j ) ) ⋅ ∂ ∂ w j k ( ∑ j w j k ⋅ o j ) \frac{\partial E}{\partial w_{jk}} -2(t_k - o_k) \cdot \text{sigm…