1.变量
我们首先要明确变量命名规则:
变量名首字符不能是数字,变量名只能用字母、数字、下划线命名,系统保留关键字不能用在变量名中。
type不是系统保留关键字,但是也不建议将其用作变量名,大家知道为什么吗?
比如:type=1,type(1)就会报错。所以说如果用type作变量名,就会引起后续错误。
2.引用类型可变,值类型不可变
比如:a=1
b=a
a=3
print(b)大家猜猜这个结果是什么?可能一些小伙伴会先入为主,觉得结果是3,其实是1,我来分析一下这段代码的过程。
根据上图,大家可以很直观的看出,最后的结果是1,这就是值(int)类型,这种类型还有字符串(str)、元组(tuple)都是不可变的。
下面再举一个引用类型可变的例子
比如:a=[1,2,3,4,5]
b=a
a[0]=’1’
print(a)大家猜猜这个结果又是什么?大家可以把这段代码复制到编辑器中自己验证一下结果,同样的,我们还是用图示的方法分析一下。
所以,我们根据上图可以看出最后的结果[‘1’,2,3,4,5],这种类型的还有列表(list)、集合(set)、字典(dict)。
3.运算符号
我把运算符号的类型总结成一张下面的思维导图。
大家没必要记住每一个运算符号,用到什么符号时,就去查运算符号手册,多查几遍就会记住的,学习就是这个样子,不断的重复,才能记住某个知识点。下面我想把自己觉得重要的几类运算符拿出来和大家聊聊。
(1)、比较运算符
不只是数字才能做比较运算,比如字符串也可以做比较
‘a’>’b’ 这个会输出False,大家可以这样理解,我们可以用ord函数看看两个字符串的ASII码,ord(‘a’)=97;ord(‘b’)=98,所以结果肯定就是False。
(2)、逻辑运算符
在这个部分,我们看一下not(非)的一个规则——我们说非零被认为True。比如,对于字符串,not’ ’会输出True,对于列表、元组、集合以及字典同样遵循这一规则。
and、or的返回规律
1 and 0 结果是0;而0 and 1 结果也是0
这个就涉及到计算机解析代码的一个过程,给打击举一个形象的例子,便于大家理解。就好比有两个箱子叠放在一起,那么对于前者,计算机在解码的时候通过取「1」这个箱子,不能决定最终的结果,所以最终的结果由0决定;而对于后者由于0已经可以决定最后的结果,计算机也是会偷懒的,所以就省去了后面的过程。
同理,我们也可以用这个事例解释下面的例子
0 or 1会输出1,1 or 0则会输出1
所以,对于and和or的返回值到底是什么,大家要去理解,而不是死记硬背。
(3)、身份运算符,返回的也是布尔值
如果两个变量取值相等,则is返回True,那么大家思考一下「is」和比较运算符的「==」有什么区别?
关系运算符「==」比较的是两个变量的值是否相等,而「is」比较的是两个变量的身份是否相等。我们举个例子来理解一下这个规则。
a=1
b=1.0
a==b根据上面的规则就会返回True,而a is b则会返回False,大家可以用id函数查看两个变量的内存地址,就会理解的。
(4)、位运算符
需要提醒的是按位与「&」和按位或「|」这个符号,同样举例说明
a=2
b=3
a& b则输出2
这个过程我们可以这样理解:
1 0
1 1
1 0
这个运算符的规则是这样的,各个位置各自对比,就有两个都是1才会输出1,否则是0,所以最后的结果是10,再转成十进制,就是2。
a=2
b=3
a | b则输出3
依然可以像上面那样理解,不一样的是规则是:只要有1个1,就是1,所以最终的结果是11,转换后就是3。
今天的分享就到这里了,如果大家觉得有用,点个好看吧。
戳这里交流Python