持续创作,加速成长!这是我参与「掘金日新计划 · 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计算机这么表示这种情况呢,就是布尔值
True 是
False 否
#当然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 最低
那么挑战来了,大家能不能写一个表达式来证明一下,欢迎大家在评论区留言,嘿嘿嘿,期待和大家交流哦