2.8 基本运算
Last updated
Was this helpful?
Last updated
Was this helpful?
算术运算符包括+,-,*,/,//,%,**。
以下假设x为10,y为3。
我们来看两个特殊的例子。
下图中变量a最终是float类型,这是为什么呢?
因为在做运算的时候,它会把运算符两边的数据类型转换成相同的数据类型,这里就是把int型向float型转换,所以最后得到的结果也是float型。
取余的时候,有些小细节也要注意:结果的符号和除数的符号是一致的。
比较运算符包括>,<,==,<>,>=,<=,!=。
比较运算的结果为布尔值,True或者False。
以下假设x为3,y为10。
我们来看两个例子。
下图中3 == 3.0是成立的,因为如果把整数3转换成浮点数的3.0,对于值来说是没有损失的。但是3 == “3”就不成立了,因为“3”相当于字符串,字符串和数字是不能相等的。
下图中涉及到一个先做算术运算还是先做比较运算的问题,我们可以根据结果看到,是先做算术运算的。我们可以得出一个结论:算术运算的优先级比比较运算高。
赋值运算符包括=,+=,-=,*=,/=,%=,**=,//=。
这种写法确实比较简略,但是建议初学者呢,还是写的更加易懂一点,以免混淆。
这里有一个注意点:赋值运算符后面x要看成一个整体。
比如下图这个例子:
它先做了4+3的运算,得到了7,再跟10相乘,最后得到结果为70。
还有一个注意点:赋值的左边一定是一个变量。
如果写成下图的形式就会报错:
这时候左边的z - 1是一个表达式,不能把9赋给一个表达式。如果右边是表达式的话就不会有问题。
逻辑运算符包括and,or,not。
在逻辑运算中,0视作False,非0的值就视为True。
因此下图中的10就代表了True,结果就返回了y的计算值:20+5,也就是25。
在逻辑运算中,False的值就是0,True的值就是1。
但是有一点需要注意:在逻辑运算中,非0的值只是视作True,但并不等于True。只有1等于True。
因此,下图中的结果是False,说明5不等于True。