Python 提供了丰富的运算符,用于执行各种操作,包括算术运算、比较运算、逻辑运算、位运算等。本文将详细介绍 Python 中的各类运算符及其用法,并通过示例帮助你更好地理解和掌握。
算术运算符用于执行基本的数学运算。
运算符 | 描述 | 示例 |
---|---|---|
+ |
加法 | 3 + 2 → 5 |
- |
减法 | 5 - 3 → 2 |
* |
乘法 | 2 * 3 → 6 |
/ |
除法 | 10 / 2 → 5 |
% |
取模(取余数) | 10 % 3 → 1 |
** |
幂运算 | 2 ** 3 → 8 |
// |
整除(取整数部分) | 10 // 3 → 3 |
超市的西瓜 13 元一个,问:你拿 100 元可以买几个西瓜,剩余几元?
print('可以买', 100 // 13, '个西瓜,剩余', 100 % 13, '元')
现在是 18:02:31,请问距离凌晨 0:0:0 过了多少秒?
second = 18 * 60 * 60 + 2 * 60 + 31
print('距离凌晨 0:0:0 过了', second, '秒')
已知从凌晨 0:0:0 到现在已经过了 63320 秒,请问现在是几时几分几秒?
s = 63320
hour = s // 3600
minute = s % 3600 // 60
second = s % 60
print('现在是:', hour, ':', minute, ':', second)
比较运算符用于比较两个值并返回布尔值 True
或 False
。
运算符 | 描述 | 示例 |
---|---|---|
== |
等于 | 3 == 3 → True |
!= |
不等于 | 3 != 2 → True |
< |
小于 | 3 < 5 → True |
> |
大于 | 5 > 3 → True |
<= |
小于等于 | 3 <= 3 → True |
>= |
大于等于 | 5 >= 3 → True |
逻辑运算符用于连接布尔值并返回布尔值。
运算符 | 描述 | 示例 |
---|---|---|
and |
与(逻辑与) | True and False → False |
or |
或(逻辑或) | True or False → True |
not |
非(逻辑非) | not True → False |
and
:两者同时为真,结果才为真。
or
:只要有一个为真,结果就为真。
not
:将表达式的结果取反。
A and B 结果为False时 那么B表达式就不运行 整个表达式A and B 的结果就为A表达式
A and B 结果为True时 整个表达式A and B 的结果就为B表达式
def fn1():
print("fn1执行了")
return 0
def fn2():
print("fn2执行了")
return 200
re=fn1() and fn2() # re结果为False,fn2并未执行
print(re)#0
A or B 结果为True 那么B表达式就不运行 整个表达式A and B 的结果就为A表达式
A or B 结果为False 整个表达式A and B 的结果就为B表达式
x1=20
x2=30
re=x1>18 or x2>18
print(re) #True
x1=0
x2=200
re=x1 or x2
print(re) #200
写一个程序,输入一个整数,判断这个整数是奇数还是偶数。
x = int(input("请输入一个整数: "))
if x % 2 == 0:
print(x, "是偶数")
else:
print(x, "是奇数")
赋值运算符用于给变量赋值。
运算符 | 描述 | 示例 |
---|---|---|
= |
赋值 | x = 10 |
+= |
加法赋值 | x += 5 → x = x + 5 |
-= |
减法赋值 | x -= 3 → x = x - 3 |
*= |
乘法赋值 | x *= 2 → x = x * 2 |
/= |
除法赋值 | x /= 2 → x = x / 2 |
%= |
取模赋值 | x %= 3 → x = x % 3 |
**= |
幂运算赋值 | x **= 2 → x = x ** 2 |
//= |
整除赋值 | x //= 2 → x = x // 2 |
位运算符用于对整数按位进行操作。
运算符 | 描述 | 示例 | ||
---|---|---|---|---|
& |
按位与 | 0b1011 & 0b1101 → 0b1001 |
||
| | 按位或 | 0b1011 | 0b1101 → 0b1111 |
||
^ |
按位异或 | 0b1011 ^ 0b1101 → 0b0110 |
||
~ |
按位取反 | ~0b1011 → -0b1100 |
||
<< |
左移位 | 0b1011 << 2 → 0b101100 |
||
>> |
右移位 | 0b1011 >> 2 → 0b0010 |
身份运算符用于比较对象的内存地址。
运算符 | 描述 | 示例 |
---|---|---|
is |
判断对象是否相同 | a is b |
is not |
判断对象是否不同 | a is not b |
成员运算符用于检查一个值是否是某个集合的成员。
运算符 | 描述 | 示例 |
---|---|---|
in |
判断值是否存在于序列中 | 5 in [1, 2, 3, 4, 5] → True |
not in |
判断值是否不存在于序列中 | 6 not in [1, 2, 3, 4, 5] → True |
三目运算符(条件运算符)用于简化条件判断。
value_if_true if condition else value_if_false
max_value = a if a > b else b
运算符的优先级决定了表达式中运算的执行顺序。以下是常见运算符的优先级(从高到低):
()
(括号)
**
(幂运算)
~
(按位取反)
*
、/
、%
、//
(乘法、除法、取模、整除)
+
、-
(加法、减法)
<<
、>>
(左移、右移)
&
(按位与)
^
(按位异或)
|
(按位或)
==
、!=
、<
、>
、<=
、>=
(比较运算符)
is
、is not
(身份运算符)
in
、not in
(成员运算符)
not
(逻辑非)
and
(逻辑与)
or
(逻辑或)
算术运算符:用于数学运算。
比较运算符:用于比较值。
逻辑运算符:用于布尔运算。
赋值运算符:用于变量赋值。
位运算符:用于按位操作。
身份运算符:用于比较对象内存地址。
成员运算符:用于检查值是否在序列中。
三目运算符:简化条件判断