一、运算符的概念
运算符用于执行程序代码运算,会针对一个以上的操作对象进行运算。
如5-3,操作对象是5和3,运算符则是“-”
二、算数运算符
2.1 加法运算符
表现形式 +
# 两个数字相加
x = 1+2
print("x = " , x) #返回两个数字相加的结果 x = 3
#两个字符串相加
x = 'hello '+'world'
print("x = ", x) #返回两个字符串拼接的结果 x = 'hello world'
2.2 减法运算符
表现形式 -
#两个数字相减
x = 3-1
print("x = ", x) #返回两个数字相减的结果 x = 2
#不支持两个字符串的相减
2.3 乘法运算符
表现形式 *
#两个数字相乘
x = 3*2
print("x = " , x) #返回两个数字相加的结果 x = 6
#不支持两个字符串相乘 x = 'aa'*'bb' (报错)
#一个字符串和一个数字相乘
x = 'abc' * 3
print('x = ',x) #返回该字符串重复三次的结果 x = 'abcabcabc'
2.4 除法运算符
表现形式 /
# 两个数字相除(除数不能为0)
x = 10 /3
print("x = ",x) #返回两个数字相除的结果(浮点型数字) x = 3.3333333333333335
# 返回两个数字相除的整数部分(商)
x = 10//3
print("x = ",x) #返回两个数字相除的商 x = 3
#返回两个数字相除的余数
x = 10 % 3
print("x = ",x) #返回两个数字相除的余数 x = 1
2.5 幂运算
表现形式 **
# a**b a的b次幂(b个a相乘)
x = 2**3
print("x = ",x) #返回2的3次幂 x = 8
#计算某个数的算数平方根
x = 25**0.5
print("x = ",x) #返回25的算数平方根(浮点型) x = 5.0
三、赋值运算符
3.1 赋值运算的概念
将等号右边的数值赋值给等号左边的变量过程,就叫做赋值运算。
3.2 常见的赋值运算
a = 10
a+=1 # a=a+1
print("a = ",a) #输出 a = 11
b = 10
b -=2 #b = b-2
print("b = ",b) #输出 b = 8
c = 10
c *=2 #c = c * 2
print("c = ",c) #输出 c = 20
d = 10
d /=2 #d = d/2
print("d = ",d) #输出 d = 5.0
e = 9
e //=2 #e = e//2
print("e = ",e) #输出 e = 4
f = 9
f %=2 #f = f%2
print("f = ",f) #输出 f = 1
g = 9
g **=2 #g = g**2
print("g = ",g) #输出 g = 81
四、比较运算符
4.1 比较运算的概念
用于比较两个值之间的大小关系的运算,返回值为bool类型。若关系式成立,返回True;若关系不成立,返回False。
4.2 大于号
表现形式 >
#两个数值之间的比较
print(2>3) #判断2是否大于3 ,返回值为False
print(5>3) #判断5是否大于3,返回值为True
#不支持字符串和数值进行比较
#两个字符串之间的比较
print('a'>'c') #返回值为False. 先将字符串转换为ASCII码表中对应的十进制数,然后再比较十进制数之间的大小
print("abc" >"ac") #返回值为False. 先比较第一个字符的大小(a与a相同),若第一个字符相同则比较第二个字符的大小(b的十进制ASCII值<c的十进制ASCII值),故"abc"<"ac",返回False。
4.3 小于号
表现形式 >
#两个数值之间的比较
print(2<3) #判断2是否小于3 ,返回值为True
print(5<3) #判断5是否小于3,返回值为False
#不支持字符串和数值进行比较
#两个字符串之间的比较
print('a'<'c') #返回值为True. 先将字符串转换为ASCII码表中对应的十进制数,然后再比较十进制数之间的大小
print("abc" <"ac") #返回值为True. 先比较第一个字符的大小(a与a相同),若第一个字符相同则比较第二个字符的大小(b的十进制ASCII值<c的十进制ASCII值),故"abc"<"ac",返回False。
4.4 等于号
表现形式 ==
#两个数值之间的比较
print(2==3) #判断2是否等于3 ,返回值为False
print(5==5) #判断5是否等于5,返回值为True
#两个字符串之间的比较
print('a'=='c') #返回值为False. 先将字符串转换为ASCII码表中对应的十进制数,然后再比较十进制数之间的大小
print("ac" =="ac") #返回值为True. 比较两个字符串对应位置上每个字符是否都相同,相同则为True,不同则为False。
补充注意:
a = 10
b = 10.0
print(a==b) #返回结果为True,比较的是两个变量所对应的值,均为10
print(a is b) #返回结果为False,比较的是两个变量在内存中的地址
4.5 不等于
表现形式 != 或<>
#两个数值之间的比较
print(2!=3) #判断2是否不等于3 ,返回值为True
print(5!=5) #判断5是否不等于5,返回值为False
#两个字符串之间的比较
print('a'!='c') #返回值为True. 先将字符串转换为ASCII码表中对应的十进制数,然后再比较十进制ACSII值是否不相等
print("ac" !="ac") #返回值为False. 比较两个字符串对应位置上每个字符是否不都相同,全相同则为False,有一个不同则为True。
补充注意:
a = 10
b = 10.0
print(a!=b) #返回结果为False,比较的是两个变量所对应的值
print(a is not b) #返回结果为True,比较的是两个变量在内存中的地址
五、逻辑运算符
5.1 逻辑非
-
表现形式 not
-
运算规则
当运算符右边为bool类型时,进行取反操作
当运算符右边为非bool类型时,先将其转换为bool类型,再进行取反操作a = False print(not a) #输出结果为 True a = None print(not a) #先将None转换为bool类型(bool(None)),再进行取反操作
5.2 逻辑与
-
表现形式 and
-
运算规则
布尔值的运算规则
当and左右两侧表达式的值均为True时,返回True;只要有一个False,就会返回False。print( False and False) #返回False print( False and True ) #返回False print( True and False) #返回False print( True and True) #返回False
非bool值的运算规则
找False。如果第一个值为False,则不看第二个值,直接返回第一个值;如果第一个值为True,则返回第二个值。r = 1 and 2 print(r) #返回2 r = 1 and 0 print(r) #返回0 r = 0 and 1 print(r) #返回0
5.2 逻辑或
-
表现形式 or
-
运算规则
布尔值的运算规则
当or左右两侧表达式的值均为False时,返回False;只要有一个True,就会返回True。print( False or False) #返回False print( False or True ) #返回True print( True or False) #返回True print( True or True) #返回True
非bool值的运算规则
找True。如果第一个值为True,则不看第二个值,直接返回第一个值;如果第一个值为False,则返回第二个值。r = 1 or 2 print(r) #返回1 r = 1 or 0 print(r) #返回1 r = 0 or 1 print(r) #返回1
六、条件运算符
-
表现形式
语句1 if 条件表达式 else 语句2 -
运算规则
先判断条件表达式的真假,如果为True,执行语句1,并返回执行结果;如果为False,执行语句2,并返回执行结果a = 10 b = 20 c = 30 r = a if (a>b and a>c) else (b if b>c else c) # r = a if a>b else (b if b>c else c) print("a,b,c之间的最大值为:",r)
七、运算符的优先级
越往下,运算符的优先级越高。