ptyhon中的运算符

2018-10-19  本文已影响0人  像小象的云

ptyhon中的运算符

python中的运算符包括:数学运算符,逻辑运算符,位运算符,比较运算符,辅助运算符

1、数学运算符:+ 、-、、/、%、//、*

# a. +:求和,和数学中的+号功能一样
print(100 + 10)
print(-100 + 10)
print(12.5 + 3.14)

# b. -:求差,和数学中的-号功能一样
result = 99 - 23   # 将99-23的结果赋给变量result
print(result)

# c. *:求乘积,和数学中的×号功能一样
print(1.23 * 3)
print(-1.23 * 2)
print(-1.23 * -2)

# d. /(除):求商, 和数学中的÷号功能一样
# 注意:和C语言中的/不一样
print(5/2)  # 2.5
print(12.5/5)

# e. %:求余数
# 注意:python中小数和整数都可以求余数
print(5%2)
print(6%2)
print(5.0 % 0.2)

# f. //(整除):求商,结果只取商的整数部分
print(5 // 2)
print(6.4 // 2)

# g. **(幂运算): 求幂
# x ** y : 求x的y次方
# 技巧:可以通过把y的值设置为1/2(0.5)来求一个数的开平方
print(2**3)
print(100**0.5)

2、比较运算符: >, <, ==, !=, >=, <=

# 所有比较运算的结果是布尔值:True/False
# ==: 判断左右两边的值是否相等, =:将右边的值赋给左边的变量
print(100 > 10)
print(100 < 10)
print(12.5 == 12.5)
print(10 == 12.5)
number = 10
print(number == 100)  # False
print(number)
print(number != 100)  # True

print(100 >= 100)
print(10 < 11)      # True
print(10 <= 10)   # True

3、逻辑运算符: and(与), or(或), not(非)
逻辑运算符的结果是布尔值。运算对象也必须是布尔值

# a. 值1 and 值2:两个都为True,结果才是True。否则都是False
print(True and True)   # True
print(False and True)  # False
print(True and False)  # False
print(False and False) # False
# b. 值1 or 值2:两个都我False的时候结果才是False,否则就是True
print(False or False)  # False
print(True or False)  # True
print(True or True)  # True
# 3. not 值: 值取反(True -> False; False -> True)
print(not True)
print(not False)

4、赋值运算符: =, +=, -=, *=, /=, %=, //=, **=
赋值运算符的左边必须是变量。赋值的时候是先算赋值符号右边的结果,然后再将结果赋给左边的变量

# a. =: 单纯的将=右边的值赋给左边
num1 = 100

# b. +=, -=, *=, /=, %=, //=, **= 
# 要求左边的变量本身必须是有值的
# 变量1 += 值  ----> 变量1 = 变量1+值
num2 = 100
num2 += 10    # 相等于: num2 = num2 + 10
print(num2)

num3 = 4
num3 *= 2   # 相当于: num3 = num3 * 2
print(num3)

5、位运算符 >> 、<<、&、|、^

# 1.&(按位与)
# 数字1 & 数字2 :两个都为1结果才是1,否则为0
# 3 & 2 --> 00000011 & 00000010 == 00000010
# -3 & 2 --> 11111101 & 00000010  == 00000000
print(3&2) 
print(-3&2)

# 作用:让指定位上数置零,或者保留某一位上的值

# 2.|(按位或)
# 数字1 | 数字2: 只要有一个为1,结果就是1;两个都为,结果才是0
# 3 | 2 --> 00000011 | 00000010 = 00000011
# -3 | 2 --> 11111101 | 00000010 = (补)11111111 = (原)10000001 
print(3|2)
print(-3|2)

# 3.^(异或)
# 数字1 ^ 数字2: 不同为1,相同为0
# 3^2 --> 00000011 ^ 00000010 = 00000001
# -3^2 --> 11111101 ^ 00000010 = (补)11111111 = 10000001
print(3^2)
print(-3^2)

# 4.~(取反)
# ~数字: 将每一位取反
# ~3 ---> ~00000011 = 11111100(补) =  10000100
# ~-3 ---> ~11111101 = 00000010
print(~3)
print(~-3)

# 5.左移(重点掌握)
# 数字 << 位数: 将补码向左移动指定的位数,符号位不变,在最后面补指定个数的0
# 规律(正数和负数都实用):m << n ==  m * (2^n)
print(10 << 3)    # 20     10*2^1   10*2^2  10*2^3
print(-10 << 2)   # -20
print(2 << 2)
print(-23 << 2)

# num * 2 == num << 1    num * 4 == num << 2


# 6.右移
# 数字 >> 位数: 将补码向右移动指定的位数,符号位不变,在符号位的后面补指定个数的0(正)或者1(负)
# 规律(只适用于正数):m >> n == m // (2^n)
print(10 >> 1)
print(-10 >> 1)
print(-10 >> 2)

6、运算符优先级:
数学运算符>位运算符>比较运算符>逻辑运算符>赋值运算符
位运算符中:(>> <<) > & > ( ^ |)

上一篇 下一篇

猜你喜欢

热点阅读