【玩转python】入门篇day10-python运算符详解

1、算术运算符

常见的算术运算符: + - * / % // **

num1 = 24
num2 = 2
num3 = 9
# 加法运算
print(num1 + num2)   # 26
# 减法运算
print(num1 - num2)   # 22
# 乘法运算
print(num1 * num2)   # 48
# 除法运算
print(num1 / num2)   # 12.0
# 取余或者取模运算 (相除之后的余数)
print(num1 % num2)   # 0
print(num1 % num3)   # 6
# 幂运算
print(num1 ** num2)  # 576
# 取整运算(取的是相除之后的商)
print(num1 // num3)  # 2

+ - * / %跟其他语言类似,没有特别需要讲解的,这里注意一下 **(幂运算)和//(向除之后取整数)

2、赋值运算符

赋值运算符分为两类: 简单的赋值运算符 和 复合赋值运算符

(1)、简单的赋值运算符: = 表示把 = 右边的值赋给左边的变量

num = 123

(2)、复合赋值运算符: += -= *= /= **= %= //= 表示给一个变量赋值,同时对该变量进行了相应的运算.

# += 运算
 num1 += 11  #等价于  num1 = num1 + 11
 print(num1)   # 43

# -=运算
 num1 -= 11 # 等价于  num1 = num1 - 11
 print(num1)   # 21

# *= 运算
 num1 *= 11   # 等价于  num1 = num1 * 11
 print(num1)   # 352

# /= 运算
 num1 /= 11    # 等价于  num1 = num1 / 11
 print(num1)   # 2.909090909090909

# %= 运算
 num1 %= 11     # 等价于 num1 = num1 % 11
 print(num1)   # 10

# //= 运算
 num1 //= 11     # # 等价于 num1 = num1 // 11
 print(num1)   # 2

3、关系运算符

关系运算符: 作用是 比较大小 得到的结果是布尔类型.[如果表达式成立,则返回True,如果不成立,返回False] 常用的有 > < >= <= ==(等于) !=(不等于)

# 布尔类型的值有两个: True(表示真)  False(表示假)
a = 32
b = 14
c = 32

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

# 示例:
if a > b:
    #这里因为a>b成立,所以会输出“a是一个大于b的数字”
    print('a是一个大于b的数字')

4、逻辑运算符

  • 逻辑运算符主要是有三个: and(与) or(或) not(非)
  • and: 只有当表达式两边为真,则整个表达式为真

注意:其他语言一般使用的是 &&(与) ||(或) !(非)来表示,但是python中使用的是and(与) or(或) not(非)


print(True and True)   # True
print(True and False)  # False
print(False and True)  # False
print(False and False) # False

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

# not: 表示对原来的结果取反
print(not True)  # False
print(not False) # True
# 在python中有几种特殊的数据转换为布尔类型为False.  比如: [] '' "" 0 ()  None 0.0  {}
'''
[] 表示空列表  
() 表示空元祖
{} 表示空字典
'' 或者 "" 表示空字符串
None 表示空
'''
print(not [])  # True
print(not ())  # True
print(not '')  # True
print(not "")  # True
print(not 0)   # True
print(not 0.0) # True
print(not None) # True
print(not {})   # True

下面重点讲一一下逻辑运算中的短路运算

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

and:and运算跟其他语言的&&一样,必须同时为真才为真,所以运算的时候会从左到右依次解析到最后,比如12 and 43,先解析12为真然后再解析43也为真,这个时候全部为真,所以结果为真,注意返回值,返回最后一个解析的值,43

# and 或者 or的短路运算
# print(12 and 43)   # 43
# print(43 and 12)   # 12
# print(43 and 0)    # 0
# print(0 and 43)    # 0    # 短路运算

or:or运算跟其他语言的||一样,从左往右解析,只要有一个为真就停止解析,返回结果,比如 12 or 43,从左解析首先解析12为真,所以结果就为真,返回12,再比如0 or 43,依次解析,0为假,继续解析43,这时候为真,结果为真,返回43

print(12 or 43)   # 12
print(43 or 12)   # 43
print(43 or 0)    # 43
print(0 or 43)    # 43

5、成员运算符和身份运算符

(1)、成员运算符: in 和 not in

这里表示的是是不是成员之一,比如:

print(12 in [13,43,6565,8.43,'banana'])  # False(12没有在数组中)
print(12 not in [13,43,6565,8.43,'banana'])  # True(12不在数组中,符合not in 判断,所以返回true)
print('welcome' in 'welcome to shenzhen')  # True(welcome在字符串welcome to shenzhen中,所以返回true)
# 判断输入的月份是否是31天
month = int(input('请输入月份:'))
print(month in [1,3,5,7,8,10,12])#如果输入的值在数组中,那么就为true,如果输入的mouth不在数组中那就返回false

(2)、身份运算符: is 和 is not

主要用于判断变量的内存地址是否相同,至于内存地址的讲解我们前面讲数据类型的时候详细讲解过,大家可以抽时间去看

id() 获取变量的内存地址

x = 12
y = 12
print(id(x))# 4483926672
print(id(y))# 4483926672
print(x is y)  # True
print(x is not y) # False

list11 = [1,2,3,4,5,6]
list22 = [1,2,3,5,6,6]
print(id(list11))# 4484991296
print(id(list22))# 4485010496
print(list11 is list22) # False

根据上面的示例代码我们知道x与y的内存地址是一样的,但是list11与list22内存地址不一样。看到这里大家可能会很疑惑,明明都一样,为什么会地址不一样,前面的学习中详细的分析过,这里不再重复,只讲结论,感兴趣的小伙伴可以移步去查看【玩转python】入门篇day02-python数据类型

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晨枫阳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值