Python 运算

196 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

Python作为一门编程语言,肯定少不了运算(其实这些东西99%的编程语言都有,并且相似度很高,所以,嘿嘿嘿),常规的运算包括:数学运算,比较运算,逻辑运算,当然还有不常见的异或运算,按位运算等等,今天我们聊一聊常规的三种运算

数学运算

初步来开,数学运算应该是所有编程运算当中最容易让初学者理解的一种运算,因为和小学学到的内容很相似,但是还是有一些细节需要注意,首先,先看运算符。

运算符含义
+加法运算
-加法运算
*乘法运算
/除法运算
%取余运算,就是取余数
//整除,取整
**求方
+=,-=,*=,/=自运算

上面是基本的运算符,下面是需要强调的点。

1、同类型运算,这里的类型是指Python当中的数据类型,比如,数字和数字可以运算,哪怕整数和小数,但是数字不可以和字符串运算,所以:

>>> 1+1.2
2.2
>>> 1+'1'
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    1+'1'
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> 

2、如果有小数参与运算,结果会变成小数,否则是整数,这条一定要注意,不同的Python版本有变化的,3版本已经开始弱化了,但是在进行编程的过程当中一定要注意,比如:计算金额的时候就要取小数,哪怕结果是整数,也要有小数位数。

>>> 2+1
3
>>> 2+1.0
3.0
>>> 

3、来认识一下哪些不太熟的运算符:

// 整除,效果如下

>>> 3/2
1.5
>>> 3//2
1
>>> 9//2 #注意是取整,不是四舍五入哦
4
>>> 

% 取余,求余数,通常在轮询当中使用,比如:4人一排,计算第9个人是第几位?

>>> 5%3 
2
>>>

** 求方,这个理解符号既可以了

#3的4次方
>>> 3**4
81
>>> 

+=,-=,*=,/=自运算,通俗的说,就是在当前的基础上进行一次运算。

>>> a = 1
>>> a+=1    #这里相当与 a = a + 1 等号左边的a是下面的a,等号右边的a是上的a,所以就是在a=1的基础上,对a+1然后从新赋值给a
>>> a
2
>>> 
#其他三种同理,大家要多试试哦,嘿嘿嘿。

布尔值

在聊下面的运算之前,必须先聊一聊Python当中的一种数据类型,布尔值,在日常生活当中的判断,回事是与否,Python计算机这么表示这种情况呢,就是布尔值

TrueFalse#当然Python也把 0,空数据类型作为False

这里要警惕的是:True代表是,成立,False 代表不是,不成立,False和错误是两个概念

比较运算

比较运算这个和我们小学数学学的也类似,当然也有不同,还是,先看运算符:

运算符含义
大于
<小于
>=大等于
<=小等于
==值比较
!=不等于
is全等于
in范围存在

同样,我们来聊聊不常见的比较运算符

== 值比较,相较小学时候的写法,编程语法更加严谨,=是赋值,左边是变量,右边是常量,判断两个值是否相等,需要用==

>>> a = 1
>>> 1 = 1 #错误示范
SyntaxError: can't assign to literal
>>> 1 == 1
True
>>> 

!= 表示不等于,在2版本还用过 <> 代表不等于

>>> 2 != 1
True
>>> 2 != 2
False
>>> 

is 全等于,这里要铭记,全等和值相等是不一样的,一定要清醒

>>> 1 is 1
True
>>> 1 is 1.0
False
>>> 1 == 1.0
True
>>> 

in 范围存在,和英文意思贴近

>>> "a" in "abc"
True
>>> 

逻辑运算

额,貌似,这个在小学也学过,或且非,这个相比大家都有影响,如果你没有影响,嘿嘿嘿...

运算符含义
and
or
not

案例:

>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> not True
False
>>> not False
True
>>> 

我们使用布尔值做的案例,但实际编程当中通常用的是其他运算,比如:

a+b > 2 or a+b < 3

可以看出来:

and 运算,两边都为True(成立)才算成立,不过要注意的是,加入左边开始为False,那么右边是True还是False就没有意义了。

or运算,两边只要有一边为True(成立) 才算成立,同样,如果左边开始为False,那么右边也就没有了意义。

not 运算,非错即对,非对即错,取反,很好理解。

最后注意,复杂的逻辑运算过程当中,会出现多个逻辑运算符一起出现的案例,比如:

not True and False or Ture 

这里时候要记住:

not 的运算优先级最高

and 次之

or 最低

那么挑战来了,大家能不能写一个表达式来证明一下,欢迎大家在评论区留言,嘿嘿嘿,期待和大家交流哦