Python运算符
算术、赋值运算符:
**:求幂运算
//:整除运算或者成为地板除
%:取余运算
常用算数运算符的优先级:** > * > / // % > + -
赋值运算符:=
复合运算符:+=、-= 、*= 、/=
关系比较:==、!=、>=、<=等
逻辑运算
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。【 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
算符 | 描述 |
---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1。(运算原理:计算补码,按位取反,转为原码,末尾加1) |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 |
# 位运算实例:x与y的数值的交换 # 1、交叉赋值 x, y = y, x # 2、第三方变量 temp = x x = y y = temp # 3、异或 # 规律:一个数异或另一个数两次之后的结果为该数本身 x = x ^ y y = x ^ y x = x ^ y # 4、加减法 x = x + y y = x - y x = x - y
成员及身份运算:
成员运算符:in、 not in
身份运算符:is、is not
set
集合:不允许重复元素,而且进行交集以及并集的运算
表示:{}
和dict之间的关系:set中只是存储了key
本质:无序且无重复元素的集合
#1.创建 #set() s1 = {23,45,6,7,89} print(s1) print(type(s1)) #掌握:去除列表中的重复元素 s2 = set([3,46,5,65,7,65,7]) print(s2) s3 = set((2,43,54,5,4,5)) print(s3) s4 = set({10:"a",20:"b"}) print(s4) #2.set是可变的 #2.1添加 #add(),添加, set1 = {11,22,33,44,55} #单个元素 set1.add(66) print(set1) #如果元素存在,则添加失败,不报错 set1.add(55) #多个元素 #s1.add([77,88]) #TypeError: unhashable type: 'list' s1.add((77,88)) #s1.add({1:"a"}) #结论:在set中,使用add添加,则只能添加元组,不能添加list和dict print(s1) #update(),更新,update的参数只能是可迭代对象【打碎加入】 set2 = {11,22,33,44,55} #set2.update(66) #报错:TypeError: 'int' object is not iterable set2.update([66]) print(set2) set2.update((77,88)) print(set2) set2.update({"12":12,"13":13}) print(set2) set2.update("hgjhg") print(set2) #3.删除 set2.remove(77) print(set2) #4.交集和并集 s1 = {3,54,4,5,7} s2 = {3,54,4,8,90} #交集:&【按位与】 print(s1 & s2) #并集:|【按位或】 print(s1 | s2)