今天终于一鼓作气把数字和逻辑运算一堆内容给学完了,明天终于可以学循环之类的啦,开心。
感觉还是得经常写写代码,现在学的和我之前上课听的没啥区别,就是都不怎么用动脑子哈哈哈哈,我发现我每天这个点最适合学习,但是每次看视频学习到这个点了,写文章就会很困,烦人。
知识点如下:
1.各种数字运算:
① // 地板除(取比目标整数小的最大整数)
-3//2=-2 3//2=1
②divmod(x,y)返回(x//y,x%y)该函数属于内置函数,不需要import
③abs绝对值函数,当该数为复数的时候,取其模的值。
④complex 复数函数,
complex("1+2j")
>>> 1+2j
注意1+2j之间不能有空格,否则会报错。
2.布尔类型(特殊的整数型)bool
bool(250)>>>True(当括号里是数字时,只有为0,才是False)
bool ("假") >>>True(引号里是字符串,只有字符串为空才为False,连空格都是True)
为False的几种情况:
定义为False:None和False;
值为0:0,0.0,0j,Decimal(0),Fraction(0,1)
空的序列和集合:'',(),[],{}
3.逻辑运算符(and,or,not)
4.短路逻辑和运算符优先级
①((not 1)or(0 and1)or(3 and 4)or(5 and 6)or(7 and 8 and 9))==4
or和and遵从短路逻辑,从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
例如4 or 6,答案为4,因为or是只要有一个为true即为true,4 or 6,4即为true,因此,不需要对第二个操作数进行求值,返回的是第一个操作数的值。4 and 6 ,答案为6,因为4 为true,但是and需要左右两边都为true才是true,因此要对第二个操作数进行求值,返回6的值。
②运算符的优先级
not 1 or 0 and1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 ==4
简单记一下:算术运算符(+-*%等)> not > and > or
最后的最后,可以采用流程图和思维导图的形式缕清代码的思路。