Python3 运算符
Python3 支持以下类型运算符:
算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级
算术运算
a , b = 2,3
运算符
说明
示例
+
加:将两个对象相加
a + b 结果 5
-
减:将两个对象相减
a - b 结果 -1
*
乘:将两个对象相乘或复制字符串
a * b 结果 6
/
除:将两个对象相除;a /b
a / b 结果 0.6666666666666666
%
取模或取余数
a % b 结果 2
//
整除:将两个对象相除,取整
a // b 结果 0
**
指数运算,或幂运算
a ** b 结果 8
比较运算(关系运算)
a , b = 2,3
运算符
说明
示例
==
等于:比较两个对象是否相等
a == b 结果 False
!=
不等于:比较两个对象不相等
a != b 结果 True
>
大于:比较对象a是否大于对象b
a > b 结果 False
<
小于:比较对象a是否小于对象b
a < b 结果 True
>=
大于等于:比较对象a是否大于或等于对象b
a >= b 结果 False
<=
小于等于:比较对象a是否小于或等于对象b
a <= b 结果 True
赋值运算
运算符
说明
示例
=
赋值运算
a = 1
+=
加法赋值
a += 1 等同于a = a + 1
-=
减法赋值
a -= 1 等同于 a = a - 1
*=
乘法赋值
a *= 1 等同于 a = a * 1
//=
整除赋值
a //= 2 等同于a = a // 2
%=
取余赋值
a %= 2 等同于 a = a % 2
** =
幂运算赋值
a *= 2 等同于 a = a ** 2
/=
除法赋值
a /= 2 等同于 a = a / 2
逻辑运算
a , b = 2 , 3
运算符
说明
示例
and
与运算:如果a为 False;a and b 返回 False,否则它返回b 的值
a and b 结果 3
or
或运算:如果a为True,a or b返回a的值,否则返回b的值
a or b 结果 2
not
非运算:单目运算符,not a 如果a为True,返回False;反之则返回True
not a 结果 False
位运算
python的位运算是把数字当作二进制来计算,操作符如下:
按位与:&
按位或:|
按位异或:^
按位取反:~
左移:<<
右移:>>
具体详细使用暂时不说。
成员运算
成员运算符有in、not in 两种,这里以下边代码作为说明示例
#!/usr/bin/python3
a = 'a'
lisa = ['a', 'b', 'c']
lisb = ['d', 'e', 'f']
if a in lisa:
print('变量a在列表lisa中')
if a not in lisb:
print('变量a不在列表lisb中')
以上代码输出
变量a在列表lisa中
变量a不在列表lisb中
身份运算
身份运算有两个操作符:is 、is not
is 与 ==不同,==比较的是值,is比较的是存储对象
以下代码为示例说明
#!/usr/bin/python3
a = 'a'
b = 'a'
if a is b:
print('a 和 b 指向同一个存储对象,有相同的标识')
else:
print ('a 和 b 没指向同一个存储对象,没有相同的标识')
if id(a) == id(b):
print ('a 和 b 指向同一个存储对象,有相同的标识')
else:
print ('a 和 b 没指向同一个存储对象,没有相同的标识')
#修改变量 b 的值
b = 'b'
if a is b:
print ('a 和 b 指向同一个存储对象,有相同的标识')
else:
print ('a 和 b 没指向同一个存储对象,没有相同的标识')
if a is not b:
print ('a 和 b 没指向同一个存储对象,没有相同的标识')
else:
print ('a 和 b 指向同一个存储对象,有相同的标识')
以上代码输出:
a 和 b 指向同一个存储对象,有相同的标识
a 和 b 指向同一个存储对象,有相同的标识
a 和 b 没指向同一个存储对象,没有相同的标识
a 和 b 没指向同一个存储对象,没有相同的标识
运算符优先级
以下表格列出了优先级从高到低所有运算符
运算符
描述
**
指数 (最高优先级)
~ , + , -
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* , / , % , //
乘,除,取模和取整除
+ , -
加法减法
>> , <<
右移,左移运算符
&
位 'AND'
^
位运算符
<= , < , > , >=
比较运算符
<> , == , !=
等于运算符
= , %= , /= , //= , -= , += , *= , **=
赋值运算符
is , is not
身份运算符
in , not in
成员运算符
and , or , not
逻辑运算符