网易首页 > 网易号 > 正文 申请入驻

Python:运算符

0
分享至

Python 提供了丰富的运算符,覆盖数值计算、逻辑判断、位运算、对象比较、容器操作等多个方面。

算术运算符

用于数值计算,部分运算符可扩展到序列或矩阵。

包括:+(加法)、-(减法 / 取负)、*(乘法)、/(浮点除法)、//(整除)、%(取余)、**(幂运算)、@(矩阵乘法)。

print(1 + 2)       # 3
print(5 - 2)       # 3
print(3 * 4)       # 12
print(7 / 2)       # 3.5
print(7 // 2)      # 3
print(7 % 2)       # 1
print(2 ** 3)      # 8
print(-2 ** 2)     # 等价于 -(2 ** 2),结果为 -4(右结合特性)

# 矩阵乘法(需 NumPy)
import numpy as np
A = np.array([[1, 2],[3, 4]])
B = np.array([[5, 6],[7, 8]])
print(A @ B)

/ 总是返回浮点数。

// 执行向下取整(floor division),结果为不大于真除法结果的最大整数。

% 的余数符号与除数一致。

** 是右结合,优先级高于一元负号。

对矩阵乘法使用 @,需依赖如 等库。

对序列(如字符串、列表)而言,仅支持 +(拼接)与 *(重复)。

Python 中运算符本质上是调用(如 a + b 调用 a.__add__(b))。

请参阅:

比较运算符

用于数值、对象或容器间的值比较、成员测试与身份判断。

包括:

值比较运算符:==(相等)、!=(不等)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。

成员运算符:in(是成员)、not in(不是成员)。

身份运算符:is(是同一对象)、is not(不是同一对象)。

print(3 == 3)      # True
print(3 != 4)      # True
print(2 < 5)       # True
print("a" in "cat")    # True
print("x" not in "cat")# True

a = [1, 2]
b = [1, 2]
print(a == b)      # True (值相等)
print(a is b)      # False (不是同一对象)

值比较通过 __eq__() 等方法实现。

成员测试底层调用 __contains__() 方法。

身份判断通过比较对象的唯一标识(如 CPython 中的内存地址)。

请参阅:

逻辑运算符

用于布尔逻辑计算。

包括:and(与)、or(或)、not(非)。

print(True and False)   # False
print(True or False)    # True
print(not 0)            # True

逻辑判断依赖 Python 的。

and、or 具有短路求值特性。

not 始终返回布尔值。

and、or 可能返回某个操作数本身,而非布尔值。在 Python 中,逻辑表达式返回最后被求值的操作数,而非强制转换为 True / False。

请参阅:

位运算符

对整数按二进制位进行操作。

包括:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)。

print(5 & 3)    # 1   -> 0101 & 0011 = 0001
print(5 | 3)    # 7   -> 0101 | 0011 = 0111
print(5 ^ 3)    # 6   -> 0101 ^ 0011 = 0110
print(~5)       # -6  -> 按位取反
print(5 << 1)   # 10  -> 左移一位
print(5 >> 1)   # 2   -> 右移一位

位运算仅定义于整数类型,对浮点数和复数无效。

Python 中的整数支持无限精度,因此左移不会溢出。

~x 等价于 -(x+1)。

右移负数时采用算术移位。算术右移会保留符号位,以保证负数右移后仍为负。

请参阅:

赋值运算符

用于将值绑定到变量,并支持复合形式。

包括:基本赋值(=)、算术复合赋值(+=、-=、*=、/=、//=、%=、**=)、位运算复合赋值(&=、|=、^=、<<=、>>=)以及海象运算符(:=)。

x = 5
x += 2      # 7
x *= 3      # 21

# 海象运算符 :=
if (n := len("hello")) > 3:
    print(n)   # 5

Python 的赋值本质上是名称绑定。变量名仅是对象的引用标签,而非内存中的容器。

复合赋值会优先尝试原地修改(可变对象常见),若对象不可变则会新建并重新绑定。部分类型(如 list、set)在复合赋值时会原地修改对象,而不会生成新对象。

链式赋值可能带来别名效应,需谨慎使用。

海象运算符 := 让赋值可出现在表达式中,但优先级较低。常用于 while 或 if 条件中同时赋值与判断。

请参阅:

访问与调用运算符

用于访问对象元素、属性和调用。

包括:[](下标/切片运算符)、.(属性访问运算符)、()(调用运算符)。

# 下标
lst = [1, 2, 3]
print(lst[0])      # 1

# 属性
s = "abc"
print(s.upper())   # "ABC"

# 调用
def f(x): return x+1
print(f(3))        # 4

[] 访问或修改容器元素。

. 访问对象属性或方法。

() 调用函数、类或可调用对象。

这类运算符的优先级最高,常出现在表达式最右侧。

请参阅:

优先级与结合性

优先级(从高到低):

1、函数调用 ()、索引 []、属性访问 .

2、幂运算 **

3、一元运算符 +x、-x、~x

4、乘除取余 *、/、//、%、@(矩阵乘法)

5、加减 +、-

6、位移 <<、>>

7、按位与 &

8、按位异或 ^

9、按位或 |

10、逻辑 not

11、比较 ==、!=、<、<=、>、>=、成员 in / not in、身份 is / is not

12、逻辑 and

13、逻辑 or

14、海象 :=

15、赋值 = 及复合赋值

结合性

除了幂运算 ** 是右结合外,其他运算符都是左结合。

小结

Python 的运算符可分为:算术、比较(含值比较、成员、身份)、逻辑、位运算、赋值及访问类六类。

它们共同构成表达式的核心语法结构,既能执行数值计算,也能灵活操作对象与容器。

熟悉每种运算符的语义、优先级与结合性,有助于编写更清晰、精确且高效的 Python 代码。

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
国防大学教授:“正义使命-2025”演习 “开局即打”

国防大学教授:“正义使命-2025”演习 “开局即打”

环球网资讯
2025-12-29 10:29:22
英达多次公开喊话惹争议,网友:巴图原不原谅,宋丹丹说了算

英达多次公开喊话惹争议,网友:巴图原不原谅,宋丹丹说了算

丁丁鲤史纪
2025-12-31 09:21:53
1号线逆天改命,把不可能变成了可能!!——上海地铁1号线探秘

1号线逆天改命,把不可能变成了可能!!——上海地铁1号线探秘

历史小胡
2026-01-01 17:41:51
不管有没有钱,也不要选择这3种养老方式,那不是养老,是在等死

不管有没有钱,也不要选择这3种养老方式,那不是养老,是在等死

蝉吟槐蕊
2025-12-29 17:37:10
破案!世预打不明白的小曾,一回CBA就暴走原因找到,胡队要背锅

破案!世预打不明白的小曾,一回CBA就暴走原因找到,胡队要背锅

后仰大风车
2026-01-02 09:10:06
任职少林寺住持刚5个月,释印乐再迎喜讯,释永信肠子悔青也晚了

任职少林寺住持刚5个月,释印乐再迎喜讯,释永信肠子悔青也晚了

天启大世界
2026-01-01 22:48:19
何穗元旦晒儿子!和陈伟霆陪娃迎新年,一个月Winsome趴爸爸背上

何穗元旦晒儿子!和陈伟霆陪娃迎新年,一个月Winsome趴爸爸背上

乐悠悠娱乐
2026-01-02 10:31:08
海警突发激烈对峙!为拦截美军火船入台,解放军做好随时开火准备

海警突发激烈对峙!为拦截美军火船入台,解放军做好随时开火准备

荐史
2025-12-30 22:12:12
伊朗,突发!崩盘、失控!发生了什么?

伊朗,突发!崩盘、失控!发生了什么?

证券时报
2025-12-31 08:07:06
过去5场3次40+,豪取6连胜!伦纳德狂轰45分7板,末节独得20分

过去5场3次40+,豪取6连胜!伦纳德狂轰45分7板,末节独得20分

无术不学
2026-01-02 14:19:48
深夜利好!9个军工龙头回购股票,这2个龙头回购超1亿元

深夜利好!9个军工龙头回购股票,这2个龙头回购超1亿元

风风顺
2026-01-02 04:10:03
记者:塞蒂恩下课后国安曾接触邵佳一;西海岸当时已在谈续约

记者:塞蒂恩下课后国安曾接触邵佳一;西海岸当时已在谈续约

懂球帝
2026-01-02 11:36:12
震碎你的三观!鸦片战争以来,满洲贵族是如何防范汉民的?

震碎你的三观!鸦片战争以来,满洲贵族是如何防范汉民的?

历史按察使司
2025-12-29 10:38:17
Here we go!罗马诺:布伦南-约翰逊3350万镑加盟水晶宫

Here we go!罗马诺:布伦南-约翰逊3350万镑加盟水晶宫

懂球帝
2026-01-02 02:33:17
中国蓝箭航天,挑战马斯克

中国蓝箭航天,挑战马斯克

陆弃
2026-01-01 08:10:03
泰国政坛惊天逆转!多地政治家族集体“倒戈”,选战格局大洗牌!

泰国政坛惊天逆转!多地政治家族集体“倒戈”,选战格局大洗牌!

万国明信片
2026-01-02 13:50:31
出大事了!局势升级!特朗普说到做到!一觉醒来,美军打响复仇战

出大事了!局势升级!特朗普说到做到!一觉醒来,美军打响复仇战

爱吃醋的猫咪
2025-12-31 20:25:28
领教了三个神医后发现:我们这届人不配拥有中医

领教了三个神医后发现:我们这届人不配拥有中医

田先生研究室
2025-12-15 22:15:25
队报:加蓬体育部长宣布暂停国家队一切活动,开除奥巴梅扬

队报:加蓬体育部长宣布暂停国家队一切活动,开除奥巴梅扬

懂球帝
2026-01-01 19:20:12
中国火箭,凭什么用十年追上 SpaceX?

中国火箭,凭什么用十年追上 SpaceX?

Thurman在昆明
2026-01-02 12:57:40
2026-01-02 15:40:49
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1683文章数 72关注度
往期回顾 全部

科技要闻

新势力年榜:零跑险胜华为,蔚来小鹏新高

头条要闻

央视独家披露福建舰罕见画面:瞬间弹射"零帧"急停

头条要闻

央视独家披露福建舰罕见画面:瞬间弹射"零帧"急停

体育要闻

英超离谱夜?4战全平3场0-0 曼城红军翻车

娱乐要闻

武林外传开播20年,郭芙蓉打工期结束

财经要闻

8200亿扩产潮下的锂电供应链之战

汽车要闻

奇瑞汽车12月销量超23万辆 全年超263万辆

态度原创

健康
旅游
数码
教育
手机

元旦举家出行,注意防流感

旅游要闻

河南新增16个国家4A级旅游景区!元旦假期打卡谁家?

数码要闻

HMD Boom E1蓝牙音箱曝光,52mm单元且支持IPX7防水

教育要闻

点赞收藏给孩子看!

手机要闻

苹果、小米超额,vivo还差点,其它品牌未知

无障碍浏览 进入关怀版