算术表达式
算术运算符用于对操作数进行各种算术运算。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
语法 :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时才计算y | x 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
沟通交流


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


601





