zoukankan      html  css  js  c++  java
  • Python_位_成员_身份运算符

    资料来源:http://www.runoob.com/python/python-operators.html#ysf5

    1、位运算符

         转换成二进制一位一位运算

       &  按位与 1&1 为1
       |  按位或 1|0 或 0|1 或 1|1  为 1
      ^  按位异或 0^1 或 1^0 为 1
      ~ 按位取反 取反
     <<    左移 "<<"左边的二进制数全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
     >>    右移 把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
     1 a = 60            # 60 = 0011 1100 
     2 b = 13            # 13 = 0000 1101 
     3 c = 0
     4 
     5 c = a & b;        # 12 = 0000 1100
     6 print (c)
     7 
     8 c = a | b;        # 61 = 0011 1101 
     9 print (c)
    10 
    11 c = a ^ b;        # 49 = 0011 0001
    12 print (c)
    13 
    14 c = ~a;           # -61 = 1100 0011
    15 print (c)
    16 
    17 c = a << 2;       # 240 = 1111 0000
    18 print (c)
    19 
    20 c = a >> 2;       # 15 = 0000 1111
    21 print (c)
    View Code

    2、成员运算符

        in x in y, 如果 x 在 y 序列中,返回 True
      not in  x not in y,x不在y序列中,返回 True

          

     1 a = 10
     2 b = 20
     3 list = [1, 2, 3, 4, 5 ];
     4 
     5 if ( a in list ):
     6    print ("1 - 变量 a 在给定的列表中 list 中")
     7 else:
     8    print ("1 - 变量 a 不在给定的列表中 list 中")  #
     9 
    10 if ( b not in list ):
    11    print ("2 - 变量 b 不在给定的列表中 list 中")
    12 else:
    13    print ("2 - 变量 b 在给定的列表中 list 中")    #
    14 
    15 # 修改变量 a 的值
    16 a = 2
    17 if ( a in list ):
    18    print ("3 - 变量 a 在给定的列表中 list 中")    #
    19 else:
    20    print ("3 - 变量 a 不在给定的列表中 list 中")
    View Code

    3、身份运算符

        is 判断两个标识符是不是引用自一个对象,x is y, 如果 id(x) 等于 id(y),返回结果 1
     is not  判断是不是引用自不同对象,x is not y, 如果 id(x) 不等于 id(y),返回结果 1
     1 a = 20
     2 b = 20
     3 
     4 if ( a is b ):
     5    print ("1 - a 和 b 有相同的标识")
     6 else:
     7    print ("1 - a 和 b 没有相同的标识")
     8 
     9 if ( id(a) == id(b) ):
    10    print ("2 - a 和 b 有相同的标识")
    11 else:
    12    print ("2 - a 和 b 没有相同的标识")
    13 
    14 # 修改变量 b 的值
    15 b = 30
    16 if ( a is b ):
    17    print ("3 - a 和 b 有相同的标识")
    18 else:
    19    print ("3 - a 和 b 没有相同的标识")
    20 
    21 if ( a is not b ):
    22    print ("4 - a 和 b 没有相同的标识")
    23 else:
    24    print ("4 - a 和 b 有相同的标识")
    25 
    26 
    27 输出:
    28 >>> 
    29 1 - a 和 b 有相同的标识
    30 2 - a 和 b 有相同的标识
    31 3 - a 和 b 没有相同的标识
    32 4 - a 和 b 没有相同的标识
    33 >>> 
    View Code
  • 相关阅读:
    最长双回文串
    BUUOJ misc 二维码
    HDU 1284 钱币兑换问题 (动态规划 背包方案数)
    HDU 1260 Tickets (动态规划)
    HDU 1231 最大连续子序列 (动态规划)
    HDU 1203 I NEED A OFFER! (动态规划、01背包、概率)
    BUUOJ reverse SimpleRev (爆破)
    BUUOJ reverse 不一样的flag
    HDU 1176 免费馅饼 (动态规划、另类数塔)
    HDU 1171 Big Event in HDU (动态规划、01背包)
  • 原文地址:https://www.cnblogs.com/yml6/p/6119473.html
Copyright © 2011-2022 走看看