Python学习笔记四(运算符)

运算符

运算符可以对一个值或多个值进行运算或各种操作
比如 + - * / 等等
分类:

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.attrbute17
乘方**16
按位取反~15
符号运算符+或-14
乘、除*、/、//、%13
加、减+、-12
位移>>、<<11
按位与&10
按位异或^9
按位或|8
比较运算符==、!=、>、>=、<、<=7
is运算符is、is not6
in运算符in、not in5
逻辑非not4
逻辑与and3
逻辑或or2

JavaWeb工作笔记
注:本文仅用于个人学习记录,如有错误之处希望大家多多指正,共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值