python笔记-运算符

转义字符

有些字符是看不见的,如:换行、制表符等,不能在显示器上显示,甚至无法从键盘输入,所以用以反斜杠\开头的字符来表示,且只对 ASCII 编码(128 个字符)有效。

转义字符说明
\n换行符,将光标位置移到下一行开头。
\r回车符,将光标位置移到本行开头。
\t水平制表符,也即 Tab 键,一般相当于四个空格。
\a蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。
\b退格(Backspace),将光标位置移到前一列。
\反斜线
单引号
"双引号
\在字符串行尾的续行符,即一行未完,转到下一行继续写。

赋值运算符

一个=,先算右边,再赋值给左边,没啥想说。

算术运算符

运算符说明实例结果
+加(用于字符串时,表示拼接)12.45 + 1527.45
-减(还可用于负运算、集合求差集等)4.56 - 0.264.3
*5 * 3.618.0
/除法(和数学中的规则一样)7 / 23.5
//整除(只保留商的整数部分)7 // 23
%取余,即返回除法的余数7 % 21
**幂运算/次方运算,即返回 x 的 y 次方2 ** 416,即 24

整除//

print(7//4)		# 1
print(-7//4)	# -2
print(7//-4)	# -2
print(-7//-4)	# 1

当整除两边一正一负时,向下取整。即:-7/4=-1.75,介于-1和-2之间,向下取整,取小的那个,得-2。

取余%

print(7%4)		# 3			1*4+3=7
print(-7%4)		# 1			-2*4+1=-7
print(7%-4)		# -1		-2*-4-1=7
print(-7%-4)	# -3		1*-4-3=-7

先按整除//得到整除的结果,然后用这个结果反向乘以除数±4,推算得余数。

⚠️:除数是负数,求余的结果也是负数。

比较运算符

比较运算符说明
>大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
<小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
==等于,如果==两边的值相等,则返回 True,否则返回 False。
>=大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<=小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!=不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

==和is

==比较的是两个变量的值是否相等;is比较的是两个变量是不是引用了同一块地址。

a = 1
b = 1
print(a == b) # True
print(a is b) # True

a = [1]
b = [1]
print(a == b) # True
print(a is b) # False

逻辑运算符

逻辑运算符含义基本格式说明
and逻辑与运算,等价于数学中的“且”a and ba 和 b 都为真时,结果为真,否则为假。
or逻辑或运算,等价于数学中的“或”a or ba 和 b 都为假时,结果为假,否则为真(a、b只要有一个真,表达式都为真)。
not逻辑非运算,等价于数学中的“非”not a取a的反面。

⚠️:当左右a、b不是bool类型时,python的处理方法比较有意思:

print(10 and 20)		# 20
print(10 and True)	# True
print(True and False)#False
print(10 or 'abc')	# 10
print('abc' or 10)	#	'abc'
print('' or 10)			# 10

虽然都是先算左边,但是:

  • and运算时,如果左边为假,那么整个运算都为假,右边就不会去算了,直接返回左边的值;如果左边为真,继续计算右边,返回右边的值。
  • or运算时,如果左边为真,那么整个运算都为真,右边就不会去算了,直接返回左边的值;如果左边为假,继续计算右边,返回右边的值。

三目运算符

也就是if-else的简写版:

if a > b:
    max = a
else:
    max = b

等价于:

max = a if a > b else b

优先级

先来个常用简约版:幂运算 > 加减乘除 > 比较运算 > 逻辑运算

详细版优先级从高到低:

运算符说明Python运算符优先级结合性
小括号( )19
索引运算符x[i] 或 x[i1: i2 [:i3]]18
属性访问x.attribute17
乘方**16
按位取反~15
符号运算符+(正号)、-(负号)14
乘除*、/、//、%13
加减+、-12
位移>>、<<11
按位与&10
按位异或^9
按位或|8
比较运算符==、!=、>、>=、<、<=7
is 运算符is、is not6
in 运算符in、not in5
逻辑非not4
逻辑与and3
逻辑或or2
逗号运算符exp1, exp21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值