Python3学习:运算符集合讲解开讲啦!打开你们的小桌板,开始学习咯!
- Python语言支持的运算符
(1)算术运算符
(2)比较(关系)运算符
(3)赋值运算符
(4)逻辑运算符
(5)位运算符
(6)成员运算符
(7)身份运算符
- 算术运算符
(1) + (加):两个对象相加
(2) - (减):两个数相减,得到一个负数或者正数
(3) * (乘):两个数相乘或者是返回一个被重复若干次的字符串
(4) / (除):两数相除
(5) % (取模):两数相除,返回除法的余数
(6) ** (幂):返回x的y次幂
(7) // (取整除):向下取接近除数的整数
- 比较(关系)运算符:返回True或False
(1) == (等于) :比较两个对象是否相等
(2) != (不等于):比较两个对象是否不相等
(3) > (大于): 返回x是否大于y
(4) < (小于): 返回x是否小于y
(5) >= (大于等于): 返回x是否大于等于y
(6) <= (小于等于): 返回x是否小于等于y
注意:所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。
本期的Python学习还是干货满满的,接下来继续来看。
- 赋值运算符
(1) = (简单的赋值运算符) :c = a + b
(2) += (加法赋值运算符) : a += b 等价于 a = a + b
(3) -= (减法赋值运算符) : a -= b 等价于 a = a - b
(4) = (乘法赋值运算符) : a = b 等价于 a = a * b
(5) /= (除法赋值运算符) : a /= b 等价于 a = a / b
(6) %= (取模赋值运算符) : a %= b 等价于 a = a % b
(7) = (幂赋值运算符) : a = b 等价于 a = a ** b
(8) //= (取整除赋值运算符) : a //= b 等价于 a = a // b
- 逻辑运算符
变量a为10,变量b为20
(1) and (布尔与) : 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b)返回20。
(2) or (布尔或):如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。(a or b)返回10。
(3) not (布尔非):如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b)返回False
- 位运算符
(1) & (按位与运算符):参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(11为1,其余为0)
(2) | (按位或运算符):参与运算的两个值,如果两个相应位其中一个为1,则该位的结果为1,否则为0 (有1为1,00为0)
(3) ^ (按位异或运算符):参与运算的两个值,如果两个相应位一个为1,一个为0,则该位的结果为1,否则为0(异为1,同为0)
(4) ~ (按位取反运算符):对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 (1变0, 0变1)
(5) << (左移运算符):运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
(6) >> (右移运算符):运算数的各二进位全部右移若干位,由">>"右边的数指定移动的位数。
Python3学习:运算符集合讲解
- 成员运算符
(1) in : (x in y)判断x是否在序列y中,如果x在序列y中返回True,不在返回False。
(2) not in: (x not in y)判断x不在序列y中,如果x不在序列y中返回True,在序列y中返回False。
- 身份运算符
(1) is : is是判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回True,否则返回False。
(2) is not : is not是判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则结果返回True,否则返回False。
- 运算符的优先级(由高到低)
运算符 描述
(1) ** 指数 (最高优先级)
(2) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
(3) * / % // 乘,除,取模和取整除
(4) + - 加法减法
(5) >> << 右移,左移运算符
(6) & 位 'AND'
(7) ^ | 位运算符
(8) <= < > >= 比较运算符
(9) == != 等于运算符
(10) = %= /= //= -= += = *= 赋值运算符
(11) is is not 身份运算符
(12) in not in 成员运算符
(13) not and or 逻辑运算符
- is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个,
== 用于判断引用变量的值是否相等。
示例代码:
!/usr/bin/python3
-- coding: utf-8 --
author : liuhefei
Time : 2019/11/4
desc: Python运算符
if name == "__main__":
a = 33
b = 24
# 算术运算符
c1 = a + b # 加法
c2 = a - b # 减法
c3 = a * b # 乘法
c4 = a / b # 除法
c5 = a % b # 取模
c6 = a ** 2 # 幂
c7 = a // b # 取整除
print("加法c1 = ", c1)
print("减法c2 = ", c2)
print("乘法c3 = ", c3)
print("除法c4 = ", c4)
print("取模c5 = ", c5)
print("幂c6 = ", c6)
print("取整除c7 = ", c7)
print("n")
#比较运算符
if (a == b):
print("1 - a 等于 b")
else:
print("1 - a 不等于 b")
if (a != b):
print("2 - a 不等于 b")
else:
print("2 - a 等于 b")
if (a < b):
print("3 - a 小于 b")
else:
print("3 - a 大于等于 b")
if (a > b):
print("4 - a 大于 b")
else:
print("4 - a 小于等于 b")
# 修改变量a,b的值
a = 14
b = 8
if (a <= b):
print("5 - a 小于等于 b")
else:
print("5 - a 大于 b")
if (b >= a):
print("6 - b 大于等于 a")
else:
print("6 - b 小于 a")
print("n")
# 赋值运算符
a = 17
b = 25
c = 0
c = a + b
print("1 - c 的值为:", c)
c += a
print("2 - c 的值为:", c)
c *= a
print("3 - c 的值为:", c)
c /= a
print("4 - c 的值为:", c)
c = 2
c %= a
print("5 - c 的值为:", c)
c **= a
print("6 - c 的值为:", c)
c //= a
print("7 - c 的值为:", c)
print("n")
# 位运算符
x1 = 77 # 100 1101
x2 = 29 # 1 1101
y1 = x1 & x2 # 0000 1101
y2 = x1 | x2 # 0101 1101
y3 = x1 ^ x2 # 0101 0000
y4 = ~x1 # -0b1001110
y5 = x1 << 2 # 0b100110100
y6 = x2 >> 3 # 0000 0011
print("按位与运算(&)y1 = ", y1)
print("按位或运算(|)y2 = ", y2)
print("按位异或运算(^)y3 = ", y3)
print("按位取反运算(~)y4 = ", y4)
print("左移运算(<<)y1 = ", y5)
print("右移运算(>>)y1 = ", y6)
print("n")
# 逻辑运算
n = 13
m = 4
if n and m:
print("1 - 变量n和m都为true")
else:
print("1 - 变量n和m有一个为False")
if n or m:
print("2 - 变量n和m都为True,或其中一个为True")
else:
print("2 - 变量n和m都为False")
if not n:
print("3 - 变量n为False")
else:
print("3 - 变量n为True")
if not (n and m):
print("4 - 变量n和m都为False,或其中一个为False")
else:
print("4 - 变量n和m都为True")
print("n")
# 成员运算符
a1 = 12
b1 = 3
list = [1, 2, 3, 4, 5]
if a1 in list:
print("1 - 变量a1 在给定的列表list中")
else:
print("1 - 变量a1 不在给定的列表list中")
if b1 not in list:
print("2 - 变量b1 不在给定的列表list中")
else:
print("2 - 变量b1 在给定的列表list中")
print("n")
# 身份运算符
s1 = 100
s2 = 'a'
if s1 is s2:
print("1 - s1和s2引用自一个对象")
else:
print("1 - s1和s2来自不同的对象")
if s1 is not s2:
print("2 - s1和s2来自不同的对象")
else:
print("2 - s1和s2引用自同一个对象")
更多的Python学习教程也会继续为大家更新,欢迎大家的补充!