Python中的运算

文章目录

  • 1、算数运算
  • 2、赋值叠加运算
  • 3、关系运算
  • 4、逻辑算符
  • 5、位运算
  • 6、其他运算

python中没有自增自减运算,python中常见的运算包括算数运算、赋值叠加运算、关系运算、逻辑运算、位运算等。

1、算数运算

算术运算,+,-,*,/,%,**,//分别表示加,减,乘,除,取余,幂,整除。

# 取余(取模) %
a, b = 7, 8
print(a % b) # 输出结果为7
print(b % a) # 输出结果为1

# 取整//
s = 5 // 3
print(s) # 输出结果为1

运算精度,一个整数开方再乘方,得到的是一个小数。

x = 5
print((x ** 0.2) ** 5)  # 得到的结果是5.000000000000001

保留小数位数,在python中有两种方式:(1)乘以10^n,转为整数,然后再除以10^n;(2)使用round函数

print(11 / 3)  # 结果是3.6666666666666665
s = int((11 / 3) * 100) / 100  # 为了得到3.66,可以先乘以100,转为整数,然后再除以100
print(s)
s = round(11 / 3, 2)  # 保留两位小数,得到3.67
print(s)

2、赋值叠加运算

赋值叠加运算+=,-=,*=,/=,%=,**=,//=表示代表先执行运算,再赋值。

x, y = 1, 5
x += 3
print(x) # x+=3等同于x=x+3
y /= 2 
print(y) # y/=2等同于y=y/2

3、关系运算

关系运算符主要包括==,!=,>,<,>=,<=

a, b = 1, 3
print(a > b) # 输出结果为False
print(a != b) # 输出结果为True

字符比较大小,比的是字符对应ascc码值,字符一般只比较相等和包含。

a = "aab"
b = "ab"
print(a > b)  # 比较对应字符ascc码值,结果为False
print(a == b)  # 比较相等,结果为False
print(a.__contains__(b))  # 比较包含,结果为True

4、逻辑算符

逻辑运算符主要有not,and,or

x = 1
y = 2
z = 3
print((x == y) and (x == z)) # 同真即为真,结果为False
print((x == y) or (x != z)) # 同假即为假,结果为True
print(not (x == y))  # 结果取反,结果为True

5、位运算

位运算需要把数字看作二进制来进行计算。

a = 60  # 对应的二进制a = 0011 1100
b = 13  # 对应的二进制b = 0000 1101
print(a & b)  # 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0,对应二进制0000 1100
print(a | b)  # 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1,对应二进制0011 1101
print(a ^ b)  # 按位异或运算符:当两对应的二进位相异时,结果为1,对应二进制0011 0001
print(~a)  # 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1,对应二进制1100 0011
print(a << 2) # 左移动运算符:运算数的各二进位全部左移若干位,高位丢弃,低位补0,"<<"右边的数指定移动的位数,对应二进制1111 0000
print(a >> 2) # 右移动运算符:运算数的各二进位全部右移若干位,高位丢弃,低位补0,">>"右边的数指定移动的位数,对应二进制0000 1111

6、其他运算

主要包含:in,not in,is,is not

a = 10
b = 20
list = [1, 2, 3, 4, 5]
print(a in list)  # 如果在指定的序列中找到值返回 True,否则返回 False
print(b not in list)  # 如果在指定的序列中没有找到值返回 True,否则返回 False
print(a is list)  # 判断两个标识符是不是引用自一个对象,返回True或False
print(a is not list)  # 判断两个标识符是不是引用自不同对象,返回True或False

你可能感兴趣的:(#,python基础,python,运算,逻辑运算,关系运算,位运算)