Python基础之运算符

Python基础之运算符

Python中运算符大体分为复合运算符(包含赋值运算符)、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符七种。

1.算术运算符

算术运算符 (+ - * / % // **)

// 地板除,获取商的整数部分(向下取整)
** 幂指数,m**n等价于m的n次方
注意:Python在做单纯的算术运算时,参与运算的两个数必须都是数值
“+”除了可以做单纯意义的求值运算外,还可以实现字符串的拼接,但是参与拼接的两个元素必须都是字符串类型

例:

num1, num2 = 10, 20
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 // num2)
print(num1 ** num2)
# 结果
# 30
# -10
# 200
# 0.5
# 10
# 0
# 100000000000000000000

2.复合运算符(包括赋值运算符)

复合运算符(+= -= *= /= //= %= **=)

a += b <=> a = a + b
a -= b <=> a = a - b
a *= b <=> a = a * b
a /= b <=> a = a / b
a //= b <=> a = a // b
a %= b <=> a = a % b
a **= b <=> a = a ** b
复合运算符运算规律,将左侧变量和右侧变量中存储的数据做对应的算术运算,之后将算术运算的结构再赋值给左侧的变量

赋值运算符 ( = )
a = 1 #将整数1赋值给a

例:

num1 = 2
num2 = 3
num1 += num2
print(num1)
# 5

3.位运算符

位运算符 (& | ^ ~ << >>)

位运算符(&按位与,|按位或,^按位异或,~按位取反,<<左移,>>右移)
十进制转n进制:连除倒取余。操作原理:将十进制数连续除以n,得到一系列的余数,将余数倒过来排列可以得到n进制表示的数字
n进制转十进制:按位求和。操作原理:将n进制数字从右到左依次编号,编号从1开始,之后分别拿对应位置的n进制数字乘以n的(编号减1)次方,将最终结果依次求和,即得该十进制数
按位与&:参与运算的两个数字对应位置的二进制数,必须同时为1,此时该位置结果才为1,否则为0
按位或|:参与运算的两个数字对应位置的二进制数,只要有一个为1,此时该位置结果即为1,否则为0
按位异或^:参与运算的两个数字对应位置的二进制数,数字相同时结果为0,不同时结果为1
按位取反~:~n == -n - 1
左移<< 和 右移>>:当一个正整数,进行左移运算时,每移动一位等价于将该数字乘以2;进行右移运算时,每移动一位等价于将该数字除以2(向下取整);当一个负整数,进行左移运算时,每移动一位等价于将该数字乘以2;进行右移运算时,每移动一位等价于将该数字除以2(向上取整),符号位均不变

例:

# 通过位运算符,判断数字n的奇偶性
# 数字n和1做按位与运算(n&1),结果为0,此时n代表偶数;结果为1,此时n代表奇数
num = int(input("输入一个整数:"))
if num & 1 == 0:
    print("偶数")
else:
    print("奇数")


# 如何计算数字n是否是2的整数次幂
# n&(n-1),如果结果为0,此时结果是2的整数次幂,否则不是
num = int(input("输入一个整数:"))
if num & (num-1) == 0:
    print("是2的整数次幂")
else:
    print("不是2的整数次幂")

4.比较运算符

比较运算符 (> < = <= >= == != <>)

比较运算符用来完成数据的比较操作,返回结果是一个布尔类型的数据
在Python中[a,b]可以直接写成a<=x<=b

例:

result = 5 < 6 < 7
print(result)
# True

5.逻辑运算符

and(并且) or(或者) not(非) is(是)
逻辑表达式and/or连接两个子表达式,共同构成一个条件,但是注意and连接的两个表达式只有同时成立、同时为真,整个条件才会成立;or连接的两个表达式只要有一个成立,整个条件就会成立
not:对连接条件的否定
is:对连接条件的肯定

例:

num = 5
result = (num >= 3) and (num <= 6)
print(result)
# True
result = (num <= 3) or (num >= 6)
print(result)
# False

6.身份运算符

身份运算符 is / not is 判断给定的元素是否是某一个引用的数据

例:

# 判断指定的数据是否是某一种对应的数据类型
num = 1
print(type(num) is int)
# True

# Python内置方法isinstance()更适合用来判断类型
print(isinstance(num, int))
# True

7.成员运算符

成员运算符 in / not in 判断给定的元素是否在列表、字典或元组、集合中

例:

num = 1
list1 = [1, 2, 3, 4, 5, 6, 7]
print(num in list1)
# True

猜你喜欢

转载自blog.csdn.net/w18211679321/article/details/81192072
今日推荐