当前位置:首页 >> 脚本专栏

python入门教程之基本算术运算符

一、算术运算符

运算符 + - * / % **(幂)求次方 //(取整除,向下取整)如:9//2 =4

二、比较运算符

运算符 == != <>(不等于,类似!=) < > >= <=

#举例说明:
x = 10
y = 20

print(x > y) # False
print(x < y) # True
print(x >= y) # False
print(x <= y) # True

print(x == y) # False
print(x != y) # True

三、赋值运算符

运算符 = += -= *= /= %= **= //=

x = 10 # (一元赋值运算符)
y = 20

# x = x+y # x += y
x += y # (二元赋值运算符)
x += 10
print(x)

x -= y
print(x)
x *= y
print(x)
x /= y
print(x)
x **= y # x = x**y
print(x)
y //= x # x = x//y
print(y)
x %= y # x = x%y
print(x)

四、逻辑运算符

主要用于逻辑判断,bool,循环等,返回True或False(二元运算符)

运算符 and or not

and(和),两个条件都为真就为真,否则都为False.

print(1>1 and 2>3) # False
print(10>1 and False) # False

or(或),只要有一个为真就为真,否则都为False

age = 18
inp_age= input('age:')
print(age==inp_age or True) # True
print(True or False) # True
print(False or False) # False

not(不是)

print(not True) # False
print(not False) # True

五、身份运算符

身份运算符用于比较两个元素对象的存储单位,通过比较两者id返回布尔值

注意;值相同的id不一定相同,id相同的值一定相同

运算符 描述 实例 is is是判断俩个标识符是不是引用自一个对象,类似== x is y(返回bool值) is not is not是判断俩个标识符是不是引用自不同的对象,类似!= x is not y(返回bool值)

x=1000
y=1000

print(id(x))
print(id(y))

print(x is y) # False
print(x is not y) # True
print(not x is y) #False

六、位运算符

按位置运算符把数字看作二进制来进行计算的,python中的按位运算法则如下:

下面是变量a为60,b为13.二进制格式如下:

a = 0011 1100
b = 0000 1101

a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011

运算符 描述 实例 & 按位与运算符:参与运算的俩个值,如果俩个相应的位都为1,则该位的结果为1,否则为0. (a&b)输出结果为12,二进制的解释为:0000 1100| | 按位或运算符:只要对应的二进位有一个为1时,结果位就为1. (a|b)输出结果61,二进制解释:0011 1101 ^ 按位异或运算符:当俩对应的二进位相异时,结果为1 (a^b)输出的结果为49,二进制的解释为:0011 0001 ~ 按位取反运算符:对数据的每一个二进制位取反,即把0变成1,把1变成0。~x类似于-x-1. (~a)输出的结果位-61,二进制解释:1100 0011,在一个有符号二进制的补码形式。 << 左移动运算符:运算符的各二进制位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0. a<<2,输出结果为240,二进制解释为:1111 0000 右移动运算符:把左边的运算数的各二进位全部右移若干位,右边的数字指定了移动的位数。 a2输出结果为15,二进制的解释为:0000 1111

七、成员运算符

除了以上的一些运算符之外,python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或者元组。

运算符 描述 实例 in 如果在指定的序列中找到值饭后True,否则返回False。 x 在y 的序列中,x in y 返回True not in 如果在指定的序列中没有找到值,返回True,否则返回False x 不在y的序列中,x not iny 返回True

八、python运算符的优先级

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