zoukankan      html  css  js  c++  java
  • 七、 二进制位运算

    判断一个 字符串在不在一个列表里

     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......
  • 相关阅读:
    lombok注解详细介绍
    基于注解的SpringMVC大致开发流程
    Thymeleaf知识点总结
    thymeleaf相关知识
    Windows 命令行查看占用端口,并关闭操作
    身份证号码的正则表达式及验证详解
    mysql的查询过程和SQL语句优化
    MySQL数据库知识点整理
    MySQL数据库
    MySQL数据库
  • 原文地址:https://www.cnblogs.com/nb-blog/p/5121345.html
Copyright © 2011-2022 走看看