005_Python3 运算符

什么是运算符? 本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。 Python语言支持以下类型的运算符:     算术运算符     比较(关系)运算符     赋值运算符     逻辑运算符     位运算符     成员运算符     身份运算符     运算符优先级   *************************   1.Python算术运算符   实例:1 #!/usr/bin/python3   a = 21 b = 10 c = 0   c = a + b print ("1 - c 的值为:", c)  #31   c = a - b print ("2 - c 的值为:", c)  #11   c = a * b print ("3 - c 的值为:", c)  #210   c = a / b print ("4 - c 的值为:", c)  #2.1   c = a % b print ("5 - c 的值为:", c)  #1   # 修改变量 a 、b 、c a = 2 b = 3 c = a**b  print ("6 - c 的值为:", c)  #8   a = 10 b = 5 c = a//b  print ("7 - c 的值为:", c)  #2   *************************   2.Python比较运算符   实例2: #!/usr/bin/python3   a = 21 b = 10 c = 0   if ( a == b ):    print ("1 - a 等于 b") else:    print ("1 - a 不等于 b")    # 1 - a 不等于 b   if ( a != b ):    print ("2 - a 不等于 b") else:    print ("2 - a 等于 b")    # 2 - a 不等于 b   if ( a < b ):    print ("3 - a 小于 b") else:    print ("3 - a 大于等于 b")     # 3 - a 大于等于 b   if ( a > b ):    print ("4 - a 大于 b") else:    print ("4 - a 小于等于 b")    # 4 - a 大于 b   # 修改变量 a 和 b 的值 a = 5; b = 20; if ( a <= b ):    print ("5 - a 小于等于 b") else:    print ("5 - a 大于  b")    # 5 - a 小于等于 b if ( b >= a ):    print ("6 - b 大于等于 a") else:    print ("6 - b 小于 a")     # 6 - b 大于等于 a   *************************   3.Python位运算符 按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:   & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 ^ 按位异或运算符:当两对应的二进位相异时,结果为1 ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 << 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数   下表中变量 a 为 60,b 为 13二进制格式如下: a =   0011 1100 b =   0000 1101 ----------------- a&b = 0000 1100  #相同位都是1为1 a|b = 0011 1101  #遇1为1 a^b = 0011 0001  #相同位不同为1 ~a  = 1100 0011  #各位取反   实例3: #!/usr/bin/python3   a = 60            # 60 = 0011 1100  b = 13            # 13 = 0000 1101  c = 0   c = a & b;        # 12 = 0000 1100 print ("1 - c 的值为:", c)    c = a | b;        # 61 = 0011 1101  print ("2 - c 的值为:", c)   c = a ^ b;        # 49 = 0011 0001 print ("3 - c 的值为:", c)   c = ~a;           # -61 = 1100 0011 print ("4 - c 的值为:", c)   c = a << 2;       # 240 = 1111 0000 print ("5 - c 的值为:", c)   c = a >> 2;       # 15 = 0000 1111 print ("6 - c 的值为:", c)   *************************   4.Python逻辑运算符 Python语言支持逻辑运算符。   运算符 逻辑表达式 and x and y or x or y not not x   实例4: #!/usr/bin/python3   a = 10 b = 20   if ( a and b ):    print ("1 - 变量 a 和 b 都为 true") else:    print ("1 - 变量 a 和 b 有一个不为 true")     # 1 - 变量 a 和 b 都为 true   if ( a or b ):    print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true") else:    print ("2 - 变量 a 和 b 都不为 true")     # 2 - 变量 a 和 b 都为 true,或其中一个变量为 true   # 修改变量 a 的值 a = 0 if ( a and b ):    print ("3 - 变量 a 和 b 都为 true") else:    print ("3 - 变量 a 和 b 有一个不为 true")     # 3 - 变量 a 和 b 有一个不为 true   if ( a or b ):    print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true") else:    print ("4 - 变量 a 和 b 都不为 true")     # 4 - 变量 a 和 b 都为 true,或其中一个变量为 true   if not( a and b ):    print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false") else:    print ("5 - 变量 a 和 b 都为 true")     # 5 - 变量 a 和 b 都为 false,或其中一个变量为 false   *************************   4.Python成员运算符 除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。 运算符         描述 in       如果在指定的序列中找到值返回 True,否则返回 False。 not in 如果在指定的序列中没有找到值返回 True,否则返回 False。   实例5: #!/usr/bin/python3   a = 10 b = 20 list = [1, 2, 3, 4, 5 ];   if ( a in list ):    print ("1 - 变量 a 在给定的列表中 list 中") else:    print ("1 - 变量 a 不在给定的列表中 list 中")     # 1 - 变量 a 不在给定的列表中 list 中   if ( b not in list ):    print ("2 - 变量 b 不在给定的列表中 list 中") else:    print ("2 - 变量 b 在给定的列表中 list 中")     # 2 - 变量 b 不在给定的列表中 list 中   # 修改变量 a 的值 a = 2 if ( a in list ):    print ("3 - 变量 a 在给定的列表中 list 中") else:    print ("3 - 变量 a 不在给定的列表中 list 中")     # 3 - 变量 a 在给定的列表中 list 中   is 与 == 区别: is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。 >>> a = [1, 2, 3] >>> b = a >>> b is a  True >>> b == a True >>> b = a[:] >>> b is a False >>> b == a True   运算符 描述 **        指数 (最高优先级) ~ + -        按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 + -         加法减法 >> << 右移,左移运算符 &         位 'AND' ^ |         位运算符 <= < > >= 比较运算符 <> == != 等于运算符 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 and or not 逻辑运算符   实例6 #!/usr/bin/python3   a = 20 b = 10 c = 15 d = 5 e = 0   e = (a + b) * c / d       #( 30 * 15 ) / 5 print ("(a + b) * c / d 运算结果为:",  e)   e = ((a + b) * c) / d     # (30 * 15 ) / 5 print ("((a + b) * c) / d 运算结果为:",  e)   e = (a + b) * (c / d);    # (30) * (15/5) print ("(a + b) * (c / d) 运算结果为:",  e)   e = a + (b * c) / d;      #  20 + (150/5) print ("a + (b * c) / d 运算结果为:",  e)
上一篇:005-用一个栈实现另一个栈的排序


下一篇:新年大吉,谈谈挣钱的方法---第005期博文