学习笔记:Python中的表达式和运算符

表达式

操作数和运算符组合的式子即表达式

如:x+y

作用:用来计算值或者给变量赋值等

运算符

算术运算符

加:+
减:-
乘:*
除:/
求余/取模:% 进行除法运算,然后取余数
取整(取整数部分):// 进行除法运算,然后取整数
幂运算/几次方:**

代码示例:


a = 12
b = 10
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
print(a//b)
print(a**3)

赋值运算符

赋值运算符是“=”
作用:给变量进行赋值

# 简单的赋值运算符
x = 12
# 将12赋值给变量x

# 复杂的赋值运算符
# 将算术运算符与“=”结合
x += 2		# x = x + 2
print(x)

x -= 2		# x = x - 2
print(x)

x *= 2		# x = x * 2
print(x)

x /= 2		# x = x / 2
print(x)

x %= 2		# x = x % 2
print(x)

x //= 2		# x = x // 2
print(x)

x **= 2		# x = x ** 2
print(x)

# 以上打印结构都不同,建议分开执行,初学者容易分不清

关系运算符

也叫条件运算符、比较运算符,用来比较大小,得到的时bool值
如果表达式成立,则返回的是True;如果表达式不成立,则返回的是False

大于:>
小于:<
等于:==
注意:不要和赋值运算符中的=弄混
小于等于:>=
大于等于:<=
不等于:!=

代码示例:

a = 52
b = 88
c = 52
print(a > b)  # False
print(a < b)  # True
print(a == b) # False
print(a == c) # True
print(a != b) # True
print(a >= b) # False
print(a <= b) # True
print(a >= c) # True
print(a <= c) # True

逻辑运算符

and : 与, 并且
or: 或, 或者
not:非, 取反
逻辑操作符and 和or 也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解析,一旦结果可以确定就停止。
因为and运算符必须所有的运算数都是True才会把所有的运算数都解析,并且返回最后一个变量.
而或逻辑(or),即只要有一个是True,即停止解析运算数,返回最近为True的变量,

代码示例:

# and(与) or(或) not(非)

# and 只有表达式两边都为真,则整个表达式的结果才为真
print(True and True)
print(False and True)
print(True and False)
print(False and False)

# or  只要有一个表达式为真,则整个表达式的结果为真
print(True or True)
print(True or False)
print(False or True)
print(False or False)

# not	否定表达式的结果
print(not True)
print(not False)
print(not [])   #  []空列表 是False
print(not {})   #  {}空字典 是False
print(not ())   #  ()空元组  是False
print(not None) # None 是False

# and 或者 or的短路操作
# print(not 0)   # 数字0 为False
print(0 and 12)  # 0
# 因为从左到右第一个是0,根据and的运算思路,不论后面是什么,结果都是0,所以不会进行后面的结果
print(12 and 0)  # 0
print(12 and 9)  # 9
# 同样的,从左到右第一个是12,但不能完全判断结果是True还是False,所以还要判断9,结果最后为9
print(9 and 12)  # 12


# or的短路运算
print(3 or 0)  # 3
print(0 or 3)  # 3
print(14 or 8) # 14
# 从左到右,第一个是14,已经为True了,所以不论后面的什么,结果都为True,所以结果为14

# 练习:判断2020年是否是闰年    能被4整除并且不能被100整除  就是闰年
year = 2020
print(year % 4 == 0 and year % 100 != 0)

成员运算符和身份运算符

成员运算符:

in 和not in
常用与列表、字符串等数据中

代码示例:

print(2 in [12,35,56,87,99,37,2])  # True
print(2 in [12,35,56,87,99,37,2])    # False
print(2 not in [12,35,56,87,99,37,2])   # True
print("welcome" in "welcome to jiangxi")  # True
print("李白" in ["李白","韩信","张飞","关羽","单于","无语"]) # True
print("猪猪侠" not in ["李白","韩信","张飞","关羽","单于","无语"]) # False

身份运算符:

is和is not
身份运算符主要是用来判断内存地址是否一致
获取内存地址:id()

代码示例:

x = 20
y = 20
# 查看内存地址
print(id(x),id(y))
print(x is y)		# True
z = 12
print(x is z)		# False
print(y is not z)	# False

位运算符

位运算符用于二进制计算

符号作用示例
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数a >> 2 输出结果 15 ,二进制解释: 0000 1111

代码示例:

a = 82    # 二进制     1010010
b = 16    # 二进制     0010000
print(a & b) # ===>   0010000  => 1*2^4 = 16
print(a | b) # ===>   1010010  => 1*2^6 + 1*2^4 + 1*2^1= 64+16+1 = 81
print(a ^ b) # ===>   1000010  => 1*2^6 + 1*2^1= 64+2=66
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

(#`O′)凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值