运算符
运算符可以对一个值或多个值进行运算或各种操作
比如 + - * / 等等
分类:
1、算术运算符 :
+(加) :字符串进行加法运算则为拼接操作
print(8 + 2)
print("a" + "b")
10
ab
-(减) :不支持字符串进行减法操作
print(10 - 2)
#print("a" - 1)
8
unsupported operand type(s) for -: ‘str’ and ‘int’
*(乘) :对字符串进行操作则为指定字符串的重复次数
print(10 * 2)
print("a" * 3)
20
aaa
/(除) :运算时总会返回一个浮点型
print(10 / 2)
print(10/0)
5.0
ZeroDivisionError: division by zero 被除数不能为0
// (整除) 只保留计算后的整数位,总返回一个整型
print(10 // 2)
5
** (次幂运算) **0.5 求平方根
print(10 ** 2)
print(16 **0.5)
100
4.0
% (求余)
print(10 % 3)
1
2、赋值运算符
= 将等号右侧的值赋给左侧的变量
a = 8
print(a)
8
+= 对变量先进性加法操作 然后再赋值
a1 = 5
a1 += 5
print(a1)
10
-= 对变量先进性减法操作再赋值
a2 = 5
a2 -= 5
print(a2)
0
*= 对变量先进行乘法操作再赋值
a3 = 5
a3 *= 2
print(a3)
10
**= //= %= 与以上同意==
3、比较运算符 (同类型进行比较):> == >= <= != 返回值为True或False
print(1==1)
print(1>2)
True
False
python 中支持两个字符串之间的 >= <= == != 的运算
当字符串进行比较时,实际上比较的是字符串的Unicode编码,利用此特性可以对字母进行排序
print("a" >= "b")
print("ab" <= "b")
print("b" == "a")
print("b" != "a")
print("b" is "a")
print("b" is not "a")
False #此处比较字符串的Unicode编码 a:0061 b:0062
True #逐位进行字符Unicode编码比较
False #进行对象值对比
True #进行对象值对比
False #对比对象的id是否相等
True #对比对象的id是否不相等
4、逻辑运算符:逻辑判断
not 逻辑非 进行取反操作
b1 = True
b2 = False
b3 = True
print(not b1)
False
and 逻辑与 有一个假 则返回假(False) 短路与 只要第一个值为False 则不再进行后面的运算
print(b1 and b2)
print(b1 and b3)
False
True
or 逻辑或 有一个为真 则返回真(True) 短路或 只要第一个值为True 则不再进行后面的运算
print(b1 or b2)
True
非布尔值的与或运算:python 会将其转换为布尔值 返回原值
与运算找False 如果第一个值为False 则直接返回,否则返回第二个值
print(0 and 1)
print(1 and 2)
print(0 and 0)
print(1 and 2 and 3)
0
2
0
3
或运算 如果第一个值为True 则直接返回,否则返回第二个值
print(1 or 0)
print(0 or 1)
print(0 or 0)
print(0 or 1 or 2)
1
1
0
1
5、条件运算符(三元运算符)
语法:语句1 if 条件语句 else 语句2
执行流程:条件运算符在执行时,会对条件表达式进行求值判断,如果判断结果为True,则执行语句1 否则执行语句2
print("三元运算1") if (1 == 1) else print("三元运算2")
print("三元运算1") if (1 > 2) else print("三元运算2")
三元运算1
三元运算2
示例:
获取c1与c2中的最大值
c1 = 10
c2 = 20
c3 = 30
c4 = c1 if (c1 > c2) else c2
print(c4)
20
获取c1 、c2、c3中的最大值 方法一
c5 = c1 if (c1 > c2) else c2
c6 = c2 if (c2 > c3) else c3
print(c6)
30
方法二
c7 = c1 if (c1 > c2 and c1 > c3) else c2 if (c2 > c3) else c3
print(c7) 10
10
运算符的优先级
-
-
- / 与数学中运算优先级与数学运算的优先级一样
-
d1 = 1 + 1 * 3
print(d1)
d2 = (1 + 1) * 3
print(d2)
4
6
与或运算符 and的优先级 高于or
d3 = 1 or 2 and 0
print(d3)
1
运算符优先级表格:从高到低
运算符说明 | Python运算符 | 优先级 |
---|---|---|
索引运算符 | x[index]或x[index:index2[:index3]] | 18、19 |
属性访问 | x.attrbute | 17 |
乘方 | ** | 16 |
按位取反 | ~ | 15 |
符号运算符 | +或- | 14 |
乘、除 | *、/、//、% | 13 |
加、减 | +、- | 12 |
位移 | >>、<< | 11 |
按位与 | & | 10 |
按位异或 | ^ | 9 |
按位或 | | | 8 |
比较运算符 | ==、!=、>、>=、<、<= | 7 |
is运算符 | is、is not | 6 |
in运算符 | in、not in | 5 |
逻辑非 | not | 4 |
逻辑与 | and | 3 |
逻辑或 | or | 2 |
JavaWeb工作笔记
注:本文仅用于个人学习记录,如有错误之处希望大家多多指正,共同进步。