Python

2-Python3从入门到实战—基础之运算符

2018-02-03  本文已影响3人  SiberianDante

Python从入门到实战系列——目录

Python语言支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

算术运算符

a = 10
b = 5
a + b  返回结果 15
a - 5  返回结果 5
a * b  返回结果 50
a / b  返回结果 2.0         # / 总是返回浮点数
a % b  返回结果 0           # % 表示a除以b取余数
a ** b 返回结果 100000      # ** 表示 a 的 b 次方
a // b 返回结果 2           # // 表示 a 除以 b 的商的整数部分
10.0 // 5.0 返回结果 2

比较运算符

a = 10
b = 5
( a > b )   返回结果    True
( a < b )   返回结果    False
( a >= b )  返回结果    True
( a <= b )  返回结果    False
( a == b )  返回结果    False
( a != b )  返回结果    True

赋值运算符

a = 10
b = 20
c = a + b       # 将 a + b 的值赋值给c
c += a          # 相当于 c = c + a
c -= a          # 相当于 c = c - a
c *= a          # 相当于 c = c * a
c /= a          # 相当于 c = c / a
c %= a          # 相当于 c = c % a
c **= a         # 相当于 c = c ** a
c //= a         # 相当于 c = c // a

逻辑运算符

a = 10
b = 20
print( a and b )        # 输出:20
a = 10
b = 20
print( a or b )         # 输出:10
a = 10
b = 20
print(not(a==10))       # 输出:False
print(not(b==10))       # 输出:True

位运算符

a = 0b0011 1100
b = 0b0000 1101
a & b = 0000 1100
a = 0b0011 1100
b = 0b0000 1101
a | b = 0011 1101
a = 0b0011 1100
b = 0b0000 1101
a ^ b = 0011 0001
a = 0b0011 1100
~a = 1100 0011
a = 0b0011 1100
a << 2  # a 左移两位,即结果:1111 0000
a = 0b0011 1100
a >> 2  # a 右移两位,即结果:0000 1111

成员运算符

a = 10
list = [1, 2, 3, 4, 5 ];
 
if ( a in list ):
    print ("变量 a 在列表中 list 中")
else:
    print("变量 a 不在列表 list 中")
a = 10
list = [1, 2, 3, 4, 5 ];
 
if ( a not in list ):
    print ("变量 a 不在列表中 list 中")
else:
    print("变量 a 在列表 list 中")

身份运算符

a = 20
b = 20
 
if ( a is b ):
    print (" a 和 b 有相同的标识")
else:
    print (" a 和 b 没有相同的标识")

if ( id(a) == id(b) ):
    print (" a 和 b 有相同的标识")
else:
    print (" a 和 b 没有相同的标识")
# 输出结果均为: a 和 b 有相同的标识

# 修改 b 的值
b = 30
if ( a is b ):
    print (" a 和 b 有相同的标识")
else:
    print (" a 和 b 没有相同的标识")
# 输出结果: a 和 b 没有相同的标识
a = 20
b = 30
 
if ( a is not b ):
    print (" a 和 b 没有相同的标识")
else:
    print (" a 和 b 有相同的标识")

if ( id(a) != id(b) ):
    print (" a 和 b 没有相同的标识")
else:
    print (" a 和 b 有相同的标识")
# 输出结果均为: a 和 b 没有相同的标识

# 修改 b 的值
b = 20
if ( a is not b ):
    print (" a 和 b 没有相同的标识")
else:
    print (" a 和 b 有相同的标识")
# 输出结果: a 和 b 有相同的标识

运算符优先级

**          指数 (最高优先级)
~ + -       按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //    乘,除,取模和取整除
+ -         加法减法
>> <<       右移,左移运算符
&           位 'AND'
^ |         位运算符
<= < > >=   比较运算符
<> == !=    等于运算符
= %= /= //= -= += *= **=    赋值运算符
is is not                   身份运算符
in not in                   成员运算符
not or and                  逻辑运算符
上一篇 下一篇

猜你喜欢

热点阅读