Dandelionlcp 2019-04-26
运算符:以1 + 2为例,1和2被称为操作数,“+” 称为运算符。
Python语言支持以下类型的运算符:
以下假设变量: a=10,b=20:
python中,有三种除法,分别是
10/3 3.333333333
1.计算结果是浮点数,即使两个整数恰好整数,结果也是浮点数
9/3 3.0
2.只取整数部分,余数被抛弃
10//3 3
3.余数运算,可以得到两个整数相除的余数
10%3 1
如果想同时得到商和余数,可以用这个方法
divmod(10,3) (3,1)
因为浮点数精度的问题,Python还存在一些计算方面的小问题
0.1+0.1+0.1-0.3 5.551115123125783e-17
要解决这个问题,可以导入decimal模块
from decimal import Decimal Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3') Decimal('0.0')
1.下面三个选项哪个为True?
'abc' < 'xyz' # 为什么字符串可以进行大小比较,这是因为电脑存储字符时,是以ASCII码值存储的 也就是A是65,z是90.你输入的字符也是一个对应的数字 (3,2) < ('a','b')
2.请分别说出下面各项的值:
True == 1 False == 0 3>2>1 3>2>2 (3>2)>1 (3>2)>2
对于连续比较,Python是按这种机制解释的:
3>2>1 等于 (3>2) and (2>1) ,相当于两个比较,然后用与&再结合起来。
注意对于 a /= b 之类的操作,等同于a = a / b, 而不是 a = b / a,方向一定不要搞反了。
a = 1 a++ print(a)
在python中是没有++的这种写法
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
Python语言支持逻辑运算符,但是没有其它语言中的&&和||语法,取而代之的是更加人性化的英文单词and or not(全部都是小写字母)。以下假设变量 a 为 10, b为 20:
x = False y = True x and y False a = 10 b = 20 a and b 20
in 与 not in是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的True或者False。
list1 = [1, 2, 3, 4, 5] a = 1 for i in list1: if i == a: print("a在list1中") else: print('a不在list1中') flag = False for i in list1: if i == a: flag = True break if flag: print("a是list1的元素之一") else: print("a不是list1的元素") 如果用in运算符来做的话,就不用这么麻烦了 list1 = [1, 2, 3, 4, 5] a = 1 if a in list1: print("a是list1的元素之一") else: print("a不是list1的元素")
这也是Python的特色语法(全部都是小写字母)。
注意is与比较运算符“==”的区别,两者有根本上的区别,切记不可混用:
is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等!
a = [1,2] b = a b is a Ture b == a Ture b = a[:] b is a False b == a Ture a = 2 b = 2.0 b is a a == b
python中的三目运算符不像其他语言一般的表示方法:判定条件?为真时的结果:为假时的结果。
在python中的格式为:为真时的结果 if 判定条件 else 为假时的结果,例如:
a = 1 b = 2 h = "" h = a-b if a>b else a+b
如果a>b执行a-b,如果a<b执行a+b
下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)
作者:ju7ran
链接:https://www.jianshu.com/p/6206bff64a56
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。以上实例中 7、5 和 12 是操作数。关系运算符用于计算结果是否为 true 或者 false。逻辑运算符用于测定变量或值之间的逻辑。