Python基础知识:运算符详解

前面我们讲完了Python的基础语法、基本的数据类型以及各种数据类型间的转换。现在可以进行Python的基础知识的逐步详解学习了。下面我们开始讲解Python基础知识:运算符

在Python中,运算符是用于执行各种操作的符号,它们可以对数字、字符串、列表等数据类型进行操作。运算的逻辑也很好懂,就是讲 = (赋值符)右边的运算,赋值给左边的变量。

下面我们开始学习:

1. 算术运算符

算术运算符用于执行数学运算,逻辑就是按照数学逻辑处理,包括加减乘除、幂运算、取余数等。下面这张列表列出了一些常用的算术运算。

运算符含义示例
+加法1 + 2 = 3
-减法5 - 3 = 2
*乘法4 * 3 = 12
/浮点除10 / 3 = 3.3333333333333335
//整除10 // 3 = 3
%取余数10 % 3 = 1
**幂运算2 ** 3 = 8

示例代码:

a = 10
b = 3# 加法
print(a + b)  # 输出:13# 减法
print(a - b)  # 输出:7# 乘法
print(a * b)  # 输出:30# 除法
print(a / b)  # 输出:3.3333333333333335# 整除
print(a // b)  # 输出:3# 取模
print(a % b)  # 输出:1# 指数
print(a ** b)  # 输出:1000


2. 比较(关系)运算符

比较运算符用于比较运算符两侧两个操作数的大小或相等性,然后将运算结果以True或False的形式返回给赋值符(=)左边的变量。下面的表格是列出的一些运算符:

运算符含义示例
==等于1 == 1 # True
!=不等于1 != 2 # True
<小于1 < 2 # True
>大于2 > 1 # True
<=小于或等于2 <= 2 # True
>=大于或等于1 >= 1 # True

示例代码:

x = 10
y = 5print(x == y)  # 输出:False
print(x != y)  # 输出:True
print(x > y)   # 输出:True
print(x < y)   # 输出:False
print(x >= y)  # 输出:True
print(x <= y)  # 输出:False


3. 赋值运算符

赋值运算符用于将值赋给变量。下图列出了Python的赋值运算符:

运算符含义示例
=赋值a = 1
+=加并赋值a += 1 # a 变为 2
-=减并赋值a -= 1 # a 变为 1
*=乘并赋值a *= 2 # a 变为 2
/=除并赋值a /= 2 # a 变为 0.5
//=整除并赋值a //= 2 # a 变为 0
%=取余并赋值a %= 2 # a 变为 0
**=幂并赋值a **= 2 # a 变为 4

示例代码:

# 简单赋值
x = 5
print("简单赋值 x =", x)# 加法赋值
x += 2  # 等同于 x = x + 2
print("加法赋值 x + 2 =", x)# 减法赋值
x -= 3  # 等同于 x = x - 3
print("减法赋值 x - 3 =", x)# 乘法赋值
x *= 4  # 等同于 x = x * 4
print("乘法赋值 x * 4 =", x)# 除法赋值
x /= 2  # 等同于 x = x / 2
print("除法赋值 x / 2 =", x)# 整除赋值
x //= 3  # 等同于 x = x // 3
print("整除赋值 x // 3 =", x)# 取模赋值
x %= 2  # 等同于 x = x % 2
print("取模赋值 x % 2 =", x)# 指数赋值
x **= 3  # 等同于 x = x ** 3
print("指数赋值 x ** 3 =", x)


4. 逻辑运算符

逻辑运算符用于对两个布尔值进行逻辑运算。下图列出了Python的逻辑运算符:

运算符含义示例
and逻辑与True and True # True
or逻辑或True or False # True
not逻辑非not True # False

示例代码:

a = True
b = Falseprint(a and b)  # 输出:False
print(a or b)   # 输出:True
print(not a)    # 输出:False



5. 位运算符

位运算符用于对二进制数进行位操作。下图列出了Python的位运算符 :

运算符含义示例
&按位与10 & 3 # 2
|按位或10 | 3 # 13
^按位异或10 ^ 3 # 9
~按位取反~10 # -11
<<左移10 << 2 # 40
>>右移10 >> 2 # 2

示例代码:

a = 10  # 1010
b = 3   # 0010print(a & b)   # 输出:2
print(a | b)   # 输出:11
print(a ^ b)   # 输出:9
print(~a)      # 输出:-11
print(a << 1)  # 输出:20
print(a >> 1)  # 输出:5
上面10的二进制代码是 1010,3的二进制代码是 0010。进行 按位与,就是与操作,所以结果是0010,翻译为十进制就是2。


6. 成员运算符

成员运算符用于检查某个元素是否属于某个集合。下图列出了Python的位运算符 :

运算符含义示例
in属于1 in [1, 2, 3] # True
not in不属于4 not in [1, 2, 3] # True

示例代码:

my_list = [1, 2, 3, 4, 5]print(3 in my_list)     # 输出:True
print(6 not in my_list) # 输出:True



7. 身份运算符

身份运算符用于检查两个对象是否是同一对象。下图列出了Python的位运算符 :

运算符含义示例
is是同一对象a is b # True if a and b refer to the same object
is not不是同一对象a is not b # True if a and b do not refer to the same object

示例代码:

x = 10
y = 10
z = 5print(x is y)   # 输出:True
print(x is not z)  # 输出:True

8. 运算符优先级

当表达式中包含多个运算符时,Python 会根据运算符的优先级顺序依次执行运算。以下是 Python 运算符优先级表,从高到低排列:

优先级类型内容
1括号( )
2幂运算**
3一元运算符~+-
4乘除/*//%
5加减+-
6左移、右移>><<
7按位与&
8按位异或^
9按位或|
10比较运算符==!=<><=>=
11逻辑运算符not
12逻辑运算符and
13逻辑运算符or

示例代码:

result = 2 + 3 * 4
# 乘法优先级高于加法,先计算3*4,然后再加2
print(result)  # 输出:14result = (2 + 3) * 4
# 加法优先级高于乘法,先计算2+3,然后再乘4
print(result)  # 输出:20result = 10 > 5 and 5 < 3
# 先计算10 > 5为True,然后再判断5 < 3为False
# 最后进行逻辑与运算,True and False为False
print(result)  # 输出:Falseresult = (10 > 5) or (5 < 3)
# 先计算10 > 5为True,然后判断5 < 3为False
# 最后进行逻辑或运算,True or False为True
print(result)  # 输出:True
对于这些也优先级,可能不好记,但是括号作为第一优先级, 尽量使用括号来明确运算顺序,提高代码可读性。
当然,对于复杂的表达式可以拆分成多个简单表达式,避免难以理解。

那么,运算符的基础知识,大概就讲这么多。大家有时间也可以跟着代码敲一下,增加记忆。

感谢您的关注,我们下一篇文章将继续学习记录python的下一个知识点。

如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!

往期学习:

  往期学习:

Python安装教程(版本3.8.10)windows10

Linux系统:安装Conda(miniconda)

Conda快速安装的解决方法(Mamba安装)

VSCode安装教程(版本:1.87.0)Windows10

Python基础语法:从入门到精通的必备指南

Python的基本数据类型

Python数据类型间的转换(隐式、显式)

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

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

相关文章

insert append nologging 对Dataguard 影响 DG的同步修复

----Force Logging 对dataguard 没有影响&#xff0c;所以日志大小也没有多大影响 若是该库在有备库的状况下&#xff0c;由于主库的 nologging 插入操做不会生成 redo &#xff0c;因此不会在备库上传输和应用&#xff0c;这会致使备库的数据出现问题。 在一个具备主备关系的…

智能时代的魔法助手:大型语言模型如何让生活和工作焕然一新

大型语言模型的奇妙应用&#xff1a;让生活更便捷、工作更高效 引言 你有没有想过&#xff0c;未来的科技会如何改变我们的生活和工作方式&#xff1f;在这个快速发展的时代&#xff0c;人工智能已经逐渐渗透到我们的日常生活中&#xff0c;其中&#xff0c;大型语言模型作为…

10.网络文件系统( NFS)使用

网络文件系统&#xff08; NFS&#xff09; 使用 NFS 优点&#xff1a; 开发过程中不受开发板空间的限制&#xff0c;直接使用网络文件就像使用本地文件一样&#xff1b;调试过程中避免一一将编译后的应用程序和库文件复制到开发板上。 在开发板中使用网络文件系统可以为开发和…

YOLO语义分割标注文件txt还原到图像中

最近做图像分割任务过程中&#xff0c;使用labelme对图像进行标注&#xff0c;得到的数据文件是json&#xff0c;转换为YOLO训练所需的txt格式后&#xff0c;想对标注文件进行检验&#xff0c;即将txt标注文件还原到原图像中&#xff0c;下面是代码&#xff1a; import cv2 im…

GitHubDesktop

GitHub Desktop官网&#xff1a;https://desktop.github.com/ 汉化补丁官网&#xff1a;https://github.com/robotze/GithubDesktopZhTool 备注&#xff1a; Github Desktop汉化&#xff08;最新版&#xff0c;支持Win、Mac、Linux平台&#xff09; Github Desktop 汉化(最新…

我们的一生都是在挤火车。

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 昨天从燕郊坐火车回石家庄&#xff0c;由于赶上元旦假期&#xff0c;所有高铁票都售罄&#xff0c;一张普通火车票&#xff0c;还是一周前就买才买到的。 从燕郊站&#xff0c;到北京站&#xff0c;然后地铁去北京西站…

vulhub中Weblogic WLS Core Components 反序列化命令执行漏洞复现(CVE-2018-2628)

Oracle 2018年4月补丁中&#xff0c;修复了Weblogic Server WLS Core Components中出现的一个反序列化漏洞&#xff08;CVE-2018-2628&#xff09;&#xff0c;该漏洞通过t3协议触发&#xff0c;可导致未授权的用户在远程服务器执行任意命令。 访问http://your-ip:7001/consol…

说说Java三种启动类路径

在Java中&#xff0c;类路径&#xff08;Classpath&#xff09;是用来告诉Java虚拟机&#xff08;JVM&#xff09;在哪里查找类文件的路径。类路径可以分为三种不同的类型&#xff1a;启动类路径&#xff08;Bootstrap Classpath&#xff09;、扩展类路径&#xff08;Extension…

多模太与交叉注意力应用

要解决的问题 对同一特征点1从不同角度去拍&#xff0c;在我们拿到这些不同视觉的特征后&#xff0c;就可以知道如何从第一个位置到第二个位置&#xff0c;再到第三个位置 对于传统算法 下面很多点检测都是错 loftr当今解决办法 整体流程 具体步骤 卷积提取特征&#xff0c;…

数据库系统概论(超详解!!!) 第三节 关系数据库

1.基本概念 1. 域&#xff08;Domain&#xff09; 域是一组具有相同数据类型的值的集合。 2. 笛卡尔积&#xff08;Cartesian Product&#xff09; 给定一组域D1&#xff0c;D2&#xff0c;…&#xff0c;Dn&#xff0c;允许其中某些域是相同的。 D1&#xff0c;D2…

算法学习之动态规划DP——背包问题

一、01背包问题 &#xff08;一&#xff09;题目 有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。 第i件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输出最大价值…

牛客周赛 Round 36 解题报告 | 珂学家 | 状态DP + 构造 + 9棵树状数组

前言 整体评价 今天相对容易&#xff0c;E的构造题&#xff0c;感谢出题人极其善意的Case 1, 算是放水了。F题是个很典的结论题&#xff0c;由于存在动态点修改&#xff0c;所以引入树状数组做区间和的快速计算。 A. 小红的数位删除 题型: 签到 s input()print (s[:-3])B. …

状态机高阶讲解-02

261 00:11:22,483 --> 00:11:25,260 或依赖于这个&#xff0c;在这里表达 262 00:11:26,780 --> 00:11:30,000 Moore是说什么&#xff0c;在这里表达 263 00:11:30,280 --> 00:11:30,523 264 00:11:30,523 --> 00:11:33,443 在状态里表达&#xff0c;状态的什么 …

【Python】新手入门:全局变量和局部变量的概念、区别以及用法

【Python】新手入门&#xff1a;全局变量和局部变量的概念、区别以及用法 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448;…

ABC 344

ABC 344 ABC用python写代码会比较快 A 题可以积累简洁的写法&#xff1a; S input() a, b, c S.split(|) print(ac)#include<bits/stdc.h> using namespace std; int main(){string s;cin >> s;int x s.find("|"); // The first occurrence of | w…

002 Object类

一. Object类介绍 java.lang.Object类是所有类的父类&#xff0c;每个类都使用 Object 作为超类。所有对象&#xff08;包括数组&#xff09;都实现这个类的方法。在不明确给出超类的情况下&#xff0c;Java会自动把Object作为要定义类的超类。可以使用类型为Object的变量指向任…

boost.asio使用简介

文章目录 前言一、计时器使用1. 创建计时器&#xff0c;阻塞等待2. 创建计时器&#xff0c;非阻塞等待3. 周期性计时器4.将3写入类封装5.多线程程序的同步完成事件处理函数 二、Sockets简介1.同步TCP客户端2.同步TCP服务端3.异步TCP服务端4 同步UDP客户端5 同步UDP服务端6 异步…

Ps下载安装免费(专业图像处理软件Ps安装包下载2024【Windows版】)

Adobe全家桶下载方式 将持续更新~ 文章目录 Adobe全家桶下载方式Ps下载方式【点我获取下载链接】我们的网站一、Ps简介声明 Ps下载方式【点我获取下载链接】 迅雷网盘下载&#xff1a;迅雷网盘下载方式百度网盘下载&#xff1a;百度网盘下载方式夸克网盘下载&#xff1a;夸克…

flume系列之:为flume agent组增加新的节点,提高flume agent组消费能力

flume系列之:为flume agent组增加新的节点,提高flume agent组消费能力 一、拷贝服务的systemctl文件二、拷贝jmx导出程序三、拷贝jmx导出数据格式配置文件四、拷贝flume agent配置五、启动flume agent和jmx服务一、拷贝服务的systemctl文件 flume agent服务flume agent jmx服…

登录凭证------

为什么需要登录凭证&#xff1f; web开发中&#xff0c;我们使用的协议http是无状态协议&#xff0c;http每次请求都是一个单独的请求&#xff0c;和之前的请求没有关系&#xff0c;服务器就不知道上一步你做了什么操作&#xff0c;我们需要一个办法证明我没登录过 制作登录凭…