2022年 11月 9日

python 01列表异或_Python运算符

本文主要介绍Python3的各种运算符,主要介绍了常用的7种运算符
1、运算符与优先级

运算符 描述
() 改变运算符优先级
** 幂运算符
~ 反码运算符
*、/、%、// 乘除运算符
+、- 加减运算
>>、<< 位移运算
& 位与运算
^、| 异或与或运算
<=、、>= 比较运算
==、!= 关系运算
=、+=、-=、*=、/=、//=、**= 简化运算符
is、is not 身份运算符
in、not in 成员运算符
not、or、and 逻辑运算符

2、数学运算符

运算符 描述 操作范例
+ 加法计算 20+15=35
减法计算 20-15=5
* 乘法计算 20*15=300
/ 除法计算(÷) 20/15=1.333333
% 取模计算(余数) 10%3=1(商3余1)
** 幂运算 10**3=1000
// 整除运算,返回商 10//3=3

3、简化赋值运算符

运算符 范例用法 说明 描述
+= a+=b a+b的值存放到a中 a=a+b
-= a-=b a-b的值存放到a中 a=a-b
*= a*=b a*b的值存放到a中 a=a*b
/= a/=b a/b的值存放到a中 a=a/b
%= a%=b a%b的值存放到a中 a=a%b
**= a**=b a**b的值存放到a中 a=a**b
//= a//=b a//b的值存放到a中 a=a//b

字符串上如果采用乘法计算,实际上就可以轻松实现重复的输出处理,比如:
2d1cc16116f056320a40a218fb674384.png
4、关系运算符

运算符 描述 操作范例
== 相等比较 1==1、返回True
!= 不相等比较 1 != 1、返回False
> 大于比较 10>5、返回True
< 小于比较 10<20、返回True
>= 大于等于比较 20>=10、返回True
<= 小于等于比较 10<=20、返回True

5、逻辑运算符
逻辑运算一共包含三种:与(多个条件一起满足)、或(多个条件有一个满足)、非(实现True变False和False变True的结果转换)

运算符 描述 操作范例
and 逻辑与运算 True and True =True、True and False =False
or 逻辑或运算 True and False =True
not 非运算 not True = False

6、进制转换函数

操作 描述
bin(数值) 将数值转换成二进制数据
oct(数值) 将数值转换成 八进制数据
init(数值) 将数值转换成 十进制数据
hex(数值) 将数值转换成 十六进制数据

7、位运算符

运算符 描述 操作范例
& 位与计算 2(10)& 1(01)=0(00)
| 位或计算 2(10)| 1(01)=3(11)
^ 位异或计算 2(10)^1(01)=3(11)
~ 反码计算 ~2(10)= -3
<< 左移运算符 2(10)<<2 =8(1000)
>> 右移运算符 8(1000) >> 2 = 2(10)

8、身份运算符
身份运算符是Python自己提供的一种运算符,主要的功能是进行完全相等的判断,内容和内存的双判断

运算符 描述 操作范例
is 判断是否引用同一内存 10 is 10 (等价于id(10)==id(10))返回True
is not 判断是否引用不同内存 10 is not 10.0 (等价于id(10)!=id(10.0))返回True

小练习:

#1.+:不支持字符与数字相加,python将True当做1,False当做0print("算术加法3+4:",3+4)print("列表合并[1,2,3]+[4,5,6]:",[1,2,3]+[4,5,6])print("元组合并(1,2,3)+(4,5):",(1,2,3)+(4,5))print("字符串拼接hello+Dragon!:"+"hello"+"Dragon!")

运行结果:

b18f8747a791a1c0793e2dbc77b7a293.png

#2.-:print("算数减法3-4:",3-4)print("集合差集{1,2,3}-{1}:",{1,2,3}-{1})print("相反数-4:",-4)

运行结果:
590c62fcd159d090c654f037a0276196.png

#3.*:乘法,序列与整数的乘法、生成新的序列对象,不支持字典和集合print("乘法3*4:",3*4)print("列表乘法[1,2,3]*4:",[1,2,3]*4)print("元组乘法(1,2,3)*4:",(1,2,3)*4)print("字符串乘法Dragon-*4:","Dragon-"*4)

运行结果:
8daf14981391515691069751ce50b701.png

#4./:真除法print("除法3/4:",3/4)print("除法8/4:",8/4)print("除法3/2:",3/2)print("除法8.0/4:",8.0/4)print()#5.//:下取整print("除法3//4:",3//4)print("除法8//4:",8//4)print("除法3//2:",3//2)print("除法8.0//4:",8.0//4)

运行结果:
46020d5c994e9b0498aab3fbc12d6335.png

#6.%:取余,字符串格式化print("取余 3%4:",3%4)print("取余 123.45 % 3:",123.45%3)print("取余 123 % 3.2:",123%3.2)print("取余 -15 % 4:",-15%4)print("取余 -15 % -4:",-15%-4)print("取余 15 % -4:",15%-4)print("把65分别格式化为字符和整数 '%c,%d' % (65,65):",'%c,%d' % (65,65))print("把65分别格式化为实数和字符串 '%f,%s' % (65,65):",'%f,%s' % (65,65))

5cb66275f5c74a7779032156d8880a4f.png

#7.**:幂运算print("幂运算 2**4:",2**4)print("幂运算 pow(2,4):",pow(2,4))print("平方根 9**0.5:",9**0.5)print("负数的平方根 -9**0.5:",(-9)**0.5)      #-9有无括号结果不同!print()

d9750a53cf99509c27d5e367547855b2.png

#8.关系运算符:返回bool结果print("2>4>7:",2>4>7)print("等价:2>4 and 4>7:",2>4>7)print("3<5>2:",3<5>2)print("等价:3<5 and 5>2:",3<5>2)

a93f733d3b874e9237b9f21aa8ace53c.png

#9.in:成员测试运算符print("成员测试运算符 3 in [1,2,3]:",3 in [1,2,3])print("成员测试运算符 'abc' in 'abcdefg':",'abc' in 'abcdefg')print()

cb066d4fdf8ba147b47704eb5ec34b10.png

#10.is:同一性测试运算符:同一个对象或相同的地址print("Python采用内存管理模式,变量并不存值,而是地址或引用")print("同一性测试运算符 3 is 3:", 3 is 3)x=[1,2,3]y=[1,2,3]print("当前的x:",x)print("当前的y:",y)print("不同对象 x is y:", x is y)print("同一个值内存中只有一份 x[0] is y[0]:", x[0] is y[0])x.append(4)print("当前的x:",x)    #此时y无影响x=y     #x,y指向同一个对象print("x,y指向同一个对象 x is y:",x is y)x.append(4)print("当前的x:",x)print("当前的y:",y)print()

c65e1db8fa7cbf52da6a710c3967c970.png