我在偷偷学Python第六天(算术表达式/逻辑表达式/关系表达式)

本文介绍了Python中的算术表达式,逻辑表达式和关系表达式。包括算术运算符的使用,逻辑运算符not、and、or的含义,以及foo is None与foo == None的区别,还讨论了关系运算符的优先级。文章最后总结了各类运算符和表达式的特性。

算术表达式

算术运算符用于对操作数进行各种算术运算。Python 中的算术运算符如表所示。

在Python 3 中,除法运算符(/)永远返回一个浮点数,因此5/2 的结果将为2.5。
在这里插入图片描述

表达式中最常见也最基础的一类就是算术表达式。在Python 中编写一个算术表达式十分简单,就是使用运算法与括号对数学表达式进行直接转换。

例如,数学表达式
在这里插入图片描述
可被转换为如下Python 表达式:5 * (27 * x – 3) / 12 + ((10 * y + 7) / 9) ** 2

首先执行括号内的运算,内层括号优先被执行;然后执行幂运算(**);再计算乘法(*)、除法(/和//)及求模运算(%);最后计算加法(+)和减法(-)。
只要在表达式之前定义变量x 与y 的值即可计算出此式的值。代码 演示了如何在Python 中计算这一表达式的值并输出。

x = 1
2 y = 2
3 print 5 * (27 * x – 3) / 12 + ((10 * y + 7) / 9) ** 2
【输出结果】
19

------------------逻辑表达式--------------------

逻辑运算符:not,and,or

  1. Not

语法 :not /not x
在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,
作用:
      对x进行布尔取反/取非
      非真即假,非假即真
      如bool(x)为True,not x 则为False
      如bool(x)为False,not x 则为True

示例:
#判断元素是否在列表或者字典中,if a not in b,a是元素,b是列表或字典,这句话的意思是如果a不在列表b中,那么就执行冒号后面的语句
a = 1
b = [3,4,5,6,9,11]
c = [1,5,6]
if a not in b:
    print("不在列表中")  		#自己试一试 if a not in c:如果在列表中 则是不返回值

if x is not None是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。
使用if not x这种写法的前提是:必须清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。

foo is None 和 foo == None的区别

if foo is None: pass
if foo == None: pass

如果比较相同的对象实例,is总是返回True== 最终取决于 "eq()"

>>> class foo(object):
    def __eq__(self, other):
        return True

>>> f = foo()
>>> f == None
True
>>> f is None
False

>>> list1 = [1, 2, 3]
>>> list2 = [1, 2, 3]
>>> list1==list2
True
>>> list1 is list2
False

另外

(ob1 is ob2) 等价于 (id(ob1) == id(ob2))

------------------关系表达式--------------------------

关系运算符优先级:<、<=、>、>=四个运算符的优先级相等,、!=的优先级相等。而<、<=、>、>=优先级大于、!=。

x = 5
y = 2
 
print(x<y)
print(x>y)
print(x<=y)
print(x>=y)
print(x==y)
print(x!=y)

总结

  • 算数运算符和算数表达式
算数运算符算数表达式
+ 加法运算x+y
- 减法运算x-y
*乘法运算x*y
/ 除法运算x/y
%求模运算x%y
**求幂运算x**y
// 整除运算x//y
  • 逻辑运算符和逻辑表达式
逻辑运算符逻辑表达式
【and】 逻辑与,当x为True时才计算yx and y
【or】逻辑或,当xFalse时才计算x||y
【not】逻辑非not x

逻辑非的优先级大于逻辑与和逻辑或,而逻辑与和逻辑或优先级相等。逻辑运算符优先级低于关系运算符,必须先计算关系运算符,然后再计算逻辑运算符。

print(not True)         #False
print(False and True)   #False
print(True and False)   #False
print(False or True)    #True
print(True or False)    #True

x = 5
y = 0
 
print(not x and y)                 #False
print(not(x and y))                #True
print(x>y and False or True)  #True
print(x<y and x>y)               #False
print(x<y or x>y)                 #True
  • 关系运算符和关系表达式
关系运算符关系表达式
< 小于x<y
> 大于x>y
>= 大于等于x>=y
<=小于等于x<=y
== 等于x==y
!= 不等于x!=y

作者:Eamonze
时间:2020/11/25
沟通交流
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值