七、 二进制位运算
判断一个 字符串在不在一个列表里
1 name_list = [1,2,3,4,5,'a','b',] 2 name_list2 = ['q','w','e','r',] 3 #判断 4 是否在name_list2这个列表里 4 w = 4 in name_list2 5 e = 4 in name_list 6 #如果存在则 返回Ture 如果不存在则返回 Fales 7 print(w) 8 print(e) 9 10 ###加上判断包含的话 11 if 4 in name_list: 12 print("存在!") 13 else: 14 print("不存在...")
- 元祖
元组和列表是一样的,元组是只读的,
列表是这个样子的:
1 [1,2,3,4,5,'a','b',]
元组是这个样子的:
1 a = (1,2,3,4,5)
- 查看元组的方法:
a = (1,2,3,4,5) print(a) print(dir(a)) ------------------------------------------------------------------------------------ #输出: (1, 2, 3, 4, 5) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] ------------------------------------------------------------------------------------ 有以下两种方法: count index
由此可知,元组只可以做的事情列表都可以做,
- 如果要把元组改成列表
1 #定义一个元组 2 a = (1,2,3,4,5) 3 #打印一个元组 4 print(a) 5 #打印一个元组类型 6 print(type(a)) 7 #把元组转换为列表 8 ww = list(a) 9 #打印列表 10 print(ww) 11 #打印列表类型 12 print(type(ww)) 13 ------------------------------------------------------------------------------------ 14 #输出: 15 (1, 2, 3, 4, 5) 16 <class 'tuple'> 17 [1, 2, 3, 4, 5] 18 <class 'list'>
- 元组可以做切片索引的,但是如果要插入、删除、更改 是不可以的
- 运算符:
首先 +-*/ 分别 等于 加减乘除 就不用说了
** 等于 多少次方
// 等于 地板除 取整除-返回商的整数部分小数点被去掉了
1 a = 5//2 2 print(a) 3 4 5 6 ------------------------------------------------------------------------ 7 #输出: 8 2
- == 比较两个对象是否相等
- != 比较两个对象是否不相等
- <>比较两个对象是否不相等,Python3中已经被废除了
- > < = 分别是 大于 小于 等于 不用解释了
- += 加法赋值运算符
- -= 减法赋值运算符
- *= 乘等于--乘法赋值运算符
- /= 除等于-出发赋值运算符
- %= 取摸赋值运算符
- **=幂赋值运算符
# %返回除法的余数 a = 10%3 print(a) ------------------------------------------------------------------------------------ #输出: 1 #如果永远除以2,通过此方法可以盘点 奇、偶数 a = 10%2 b = 9%2 c = 8%2 print(a,b,c) ------------------------------------------------------------------------------------ #输出: 0 1 0
- 位运算:
二进制只有0 和 1 组成
1 192 换算为二进制 2 168 换算为二进制 3 4 256 128 64 32 16 8 4 2 1 5 6 0 0 0 0 0 0 0 0 0 7 0 1 1 0 0 0 0 0 0 [192] 8 0 1 0 1 0 1 0 0 0 [168] 9 #从左到右,第一个数字称作第一位,第个数组称作第二位,以此类推到第八个数字称作第八位, 八位数字称作一个字节 10 11 #一个字节可以表示255个数字 12 #1KB 就是 1024个字节 13 #1M 就是1024KB 14 #1G 就是1024M 15 16 #位运算就是可以直接进行二进制的 17 实际上 10*2,2*3 1+2 本质上还是进行的二进制的位运算 18 & 按位与运算符 | (a&b)输出结果12,二进制解释器00001100 19 | 按位或运算符 | (a|b) 输出结果61,二进制解释器0011110011 20 ^按位异或运算符 | (a^b)输出结果49,二进制解释器001110001 21 ~按位取反运算符 | (~a)输出结果-61,二进制解释器11000011,在一个有符号二进制数的补码形式. 22 <<左移动运算符 | (a<<2)输出结果240,二进制解释器11110000 23 >>右移动运算符 | (a>>2)输出结果15,二进制解释器00001111 24 25 26 下面来看: 27 28 256 128 64 32 16 8 4 2 1 29 -------------------------------------------------------------------------------- 30 10 0 0 0 0 0 1 0 1 0 31 50 0 0 0 1 1 0 0 1 0 32 #与运算就是10 的二进制每一位与50的二进制每一位为真才叫与运算(上下对比 两个都为0是假,两个都为1是真) 33 & 0 0 0 0 0 0 0 1 0 = 2 对应的二进制位置 就是2
34 #所以 10 & 50 等于2,这就是与运算 35 -------------------------------------------------------------------------------- 36 下面看 或运算,或运算 只要有一个为真那就为真(10|50 = 58) 37 | 0 0 0 1 1 1 0 1 0 =58 二进制对应位置相加 等于 58 38 -------------------------------------------------------------------------------- 39 下面看异或运算,异或预算为 一真一假,就为真(10 ^ 50 = 56) 40 ^ 0 0 0 1 1 1 0 0 0 = 56 二进制对应位置相加 等于 56 41 -------------------------------------------------------------------------------- 42 右移一位, 43 移动之前: 44 10 0 0 0 0 0 1 0 1 0 45 移动之后(10>>1) 46 10 0 0 0 0 0 0 1 0 1 = 5 二进制对应位置相加 等于5 47 向左移动一位:(10<<1) 48 移动后 49 10 0 0 0 0 1 0 1 0 0 = 20 二进制对应位置相加等于20
- 逻辑运算符:
1 and 布尔“与” - 如果X为 False,x and y返回False,否则他返回y的计算值 2 a = "cmd" 3 b = "aa" 4 if a == "cmd" and b == "aa": 5 print("两个条件都满足了.......") 6 ------------------------------------------------------------------ 7 #输出: 8 两个条件都满足了....... 9 10 or 布尔“或”-如果X是True,他返回True,否则它返回y的计算值 11 a = "cmd" 12 b = "aa" 13 if a == "cmd" or b == "bb": 14 print("满足了一个条件.......") 15 ------------------------------------------------------------------ 16 #输出: 17 满足了一个条件....... 18 not 布尔"非"-如果x为True,返回False,如果X为False,它返回True 19 a = "cmd" 20 b = "aa" 21 if a not in "bb" or b not in a: 22 print("a 不等于bb,b 也不等于 a") 23 ------------------------------------------------------------------ 24 #输出: 25 a 不等于bb,b 也不等于 a
- 成员运算符描述:
1 in 如果在指定的序列中找到值返回True,否则返回False. 2 not in 如果在指定的序列中没有找到值返回True,否则返回False. 3 4 身份运算符; 5 is is是判断两个表示服是不是引用自一个对象 6 例: 7 判断一个列表是否是列表 8 a = [1,2,3,4,5] 9 ww = type(a) 10 if type(a) is list: 11 print("True") 12 else: 13 print("False") 14 ------------------------------------------------------------------ 15 #输出: 16 True 17 ------------------------------------------------------------------ 18 ww = type(a) 19 if type(3) is list: 20 print("True") 21 elif type(3) is int: 22 print("是一个int......") 23 else: 24 print("False") 25 ----------------------------------------------------------------- 26 #输出: 27 是一个int......
本文来自博客园,作者:IT老登,转载请注明原文链接:https://www.cnblogs.com/nb-blog/p/5121345.html