一篇文章教你Python中的运算符,不好记怎么办,我有邪修!

📅 2026/7/10 3:15:36 👁️ 阅读次数 📝 编程学习
一篇文章教你Python中的运算符,不好记怎么办,我有邪修!

前言

本文系统介绍 Python 中的各类运算符,涵盖算术运算符、比较运算符、逻辑运算符以及其他运算符(位运算符、成员运算符、身份运算符)。通过学习本文,您将掌握:

1.各类运算符的基本语法和使用方法2.运算符的优先级和结合性规则

3.运算符在实际编程中的应用场景4.常见运算符的注意事项和最佳实践

无论您是 Python 初学者还是希望巩固基础知识的开发者,本文都将帮助您建立对 Python 运算符的全面理解。

下面是今天要介绍的运算符:

  1. 幂运算:**
  2. 乘、除、取余、整除:*、/、%、//
  3. 比较运算符:>、<、>=、<=、==、!=
  4. 身份运算符:is、is not
  5. 成员运算符:in、not in
  6. 逻辑非:not
  7. 逻辑与:and
  8. 逻辑或:or
  9. 赋值运算符:=、+=、-= 等

算数运算符

我们都学过数学中的运算符号 加、减、乘、除、幂次方、开方,等等,笔者将介绍在Python 中的算数运算,主要有这些运算符 / 除 // 整除 % 取余 * 乘 ** 幂次(加减不再介绍) 。 Python 中的算术运算符用于执行基本的数学运算。

/ 除 a / b (结果是小数 float) // 整除 a // b 得到一个整数 % 取余 a % b 得到一个余数 * 乘 a * b 得到乘积 ** 幂次方 a ** b a的b次幂 a = 10 b = 3 c1 = a + b c2 = a ** b c3 = b ** a c4 = a // b c5 = b // a c6 = b % a c7 = a % b print(c1, c2, c3, c4, c5, c6, c7) 输出: 13 1000 59049 3 0 3 1 print(100 / 3) # 33.333333333333336 print(100 // 3) # 33 运算等级 () 高于 **,其次 * / // %,然后 + - print(2 ** 3 // 2) # 4 print(2 ** 3 / 3) # 2.6666666666666665 print(2 ** (5 / 3)) # 3.1748021039363987 print(3 ** 2 % 3) # 0 任意两数字余 2 结果为 1,0 m % n 为 0 时,m 是 n 的倍数 任意数字余 m 有 m 种结果,结果为 0 -> m-1

比较运算符

比较运算符用于比较两个值,返回布尔值TrueFalse

print(5 > 3) # True print(5 < 8) # True print(5 >= 5) # True print(5 != 5) # False print(5 == 5) # True 运算优先级 算术运算符(** + - % / // *) > 比较运算符(> < >= <= != ==) > 赋值运算符(=) a = 5 > 3 print(a) # True print(5 + 3 < 8 + 4) # True 1 == True, 0 == False print(1 == True, 0 == False) # True True a = 1 == True print(a) # True b = 1 == False c = 1 != False d = int(b) print(b, c, d) # False True 0 print(int(5 + 3 < 8 + 4)) # 1 Python 支持连续比较 print(5 > 4 > 3 > 2 > 1 > 0) # True 字符串比较 print("abc" == "abc") # True print("abc" >= "abc") # True print("abc" != "abc") # False 字符串比较是对字符的编码逐个比较 print("a" < "b") # True print("b" < "c") # True print("abc" > "ac") # False print("abc" > "aaa") # True print("abc" > "eee") # False ord() 查看字母对应的码值,chr() 查看码值对应的字母 print(ord("a")) # 97 print(ord("A")) # 65 print(chr(97), chr(65)) # a A

逻辑运算符

逻辑运算符andornot用于组合条件判断。

# and 并且,or 或者,not 取反 # and 优先级高于 or and 的返回值规则: 左侧为真,返回右侧 左侧为假,返回左侧 print(100 and 1) # 1 print(True and False) # False print(True and 100) # 100 print(False and False) # False print(0 and True) # 0 print(0 and False) # 0 print("" and True) # 空 print(None and True) # None or 的返回值规则: 左侧为真,返回左侧 左侧为假,返回右侧 print(100 or 1) # 100 print(True or False) # True print(True or 100) # True print(False or False) # False print(0 or True) # True print(0 or False) # False print("" or True) # True print(None or True) # True not 取反,只返回 True 或 False print(not 0) # True print(not False) # True print(not True) # False 优先级示例 print(2 or 10 and 1) # 2 (10 and 1 → 1, 2 or 1 → 2) print(True and False or True) # True (True and False → False, False or True → True) print(100 and not 0) # True (not 0 → True, 100 and True → True) 邪修 or 运算顺序:从左向右依次判断 遇到第一个真值(True)立刻停止,直接返回该真值,不再往右计算 全程没有真值,全部为假时,返回最后最右侧的值 假值(视为 False):0、""、[]、{}、None、False,其余全部为真值(视为 True) print(3 or 0) # 3 print("abc" or []) # abc print(0 or 5 or 9) # 5 print(0 or "" or None) # None print(False or [] or 0) # 0 and 运算顺序:从左往右找假值,找到假立刻短路返回该假 全部为真,返回最右侧值 print(3 and 0 and 9) # 0 print(2 and 5 and 8) # 8 注意:or/and 返回的是原始数据本身,不是单纯的 True/False res = 4 or 10 print(res) # 输出 4,不是 True if 4 or 10: # 内部判断时才视作 True print("成立") # 成立

逻辑运算符邪修速记

# 邪修 or 运算顺序:从左向右依次判断 遇到第一个真值(True)立刻停止,直接返回该真值,不再往右计算 全程没有真值,全部为假时,返回最后最右侧的值 假值(视为 False):0、""、[]、{}、None、False,其余全部为真值(视为 True) print(3 or 0) # 3 print("abc" or []) # abc print(0 or 5 or 9) # 5 print(0 or "" or None) # None print(False or [] or 0) # 0 and 运算顺序:从左往右找假值,找到假立刻短路返回该假 全部为真,返回最右侧值 print(3 and 0 and 9) # 0 print(2 and 5 and 8) # 8 *****注意:or/and 返回的是原始数据本身,不是单纯的 True/False res = 4 or 10 print(res) # 输出 4,不是 True if 4 or 10: # 内部判断时才视作 True print("成立") # 成立

其他运算符

包括位运算符、成员运算符和身份运算符。

# 位运算符 & 按位与的运算逻辑:同 1 才 1,否则 0 0b110010 0b111100 0b110000 → 48 print(int("110000", base=2)) # 48 | 按位或的运算逻辑:有 1 则 1,全 0 才 0 0b110010 0b111100 0b111110 → 62 print(int("111110", base=2)) # 62 ^ 按位异或的运算逻辑:相同为 0,不同为 1 0b110010 0b111100 0b001110 → 14 print(int("001110", base=2)) # 14 a = 50 b = 60 print(a & b) # 48 print(a | b) # 62 print(a ^ b) # 14 print(bin(50), bin(60)) # 0b110010 0b111100 成员运算符 print("h" in "hello") # True print(100 in (100, 200, 300)) # True 身份运算符 a = 10 print(a is 10) # True

总结

本文详细介绍了 Python 中的各类运算符,以下是核心要点回顾:

算术运算符:用于基本数学运算,包括加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、幂(**)。

比较运算符:用于比较两个值,返回布尔值 True 或 False,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)。

逻辑运算符:用于组合条件判断,包括 and(与)、or(或)、not(非)。and 优先级高于 or,短路求值是重要特性。

其他运算符:位运算符:&(按位与)、|(按位或)、^(按位异或);成员运算符:in、not in;身份运算符:is、is not。

运算符优先级顺序(从高到低)

  1. 括号:()
  2. 幂运算:**
  3. 乘、除、取余、整除:*、/、%、//
  4. 加、减:+、-
  5. 比较运算符:>、<、>=、<=、==、!=
  6. 身份运算符:is、is not
  7. 成员运算符:in、not in
  8. 逻辑非:not
  9. 逻辑与:and
  10. 逻辑或:or
  11. 赋值运算符:=、+=、-= 等

掌握这些运算符的用法和优先级,是编写高效、可读 Python 代码的基础。建议在实际编码中多练习,加深理解。