导图社区 python入门学习与提高:变量与运算
python入门学习笔记分享!这份思维导图整理了python入门关于变量与运算的主要知识点,内容详细且配有丰富的例子,python入门必备,快来学习吧。
编辑于2019-09-20 16:02:35变量与运算符
变量
赋值 =
A = [1,2,3,4,5] 把这个列表的值赋给A
B = [6,7,8]
变量名在赋值时要有意义、易懂、直观(最好是用相关的英文单词)
可以用英文、数字、下划线,但变量名的开头必须是英文,字母要区分大小写,大小写不通用
两种情况下,b被赋于不同数值
第1个例子
赋值是int(值类型),是不可变
b在求值前的最后一次赋值为a,因为a=1,所以b=1
第2个例子
赋值是list列表(引用类型),是可变
a第一次赋值为列表(可改变),当第二次赋值时,就把第一次的赋值改成第二次值
int str tuple (不可改变)值类型 ,因为第一个例子中为int(不可改变),所以第二次赋值就只能另起一处重新赋值,而不是把第一次的改成第二次的数值
list set dict (可改变)引用类型
id(内存地址)
第一个print(a),是两个字符串相加,是适合要求的,从下面id的两个地址变化可以验证出
第二个例子中 'python'[0]='o',报错原因是'python'[0]是取第一个字母也就是'p',而后面却是等于o,字符串是不可改变的,所以会报错
编程过程中,不变的尽量就元组,这样可以防止被更改(更改就会报错),而可变的应用列表
1、元组内可套用列表,提取列表内的,则要相应的位置代码,嵌套一次就多一个位置代码,如例中的a[3][2][1]提取到了a(1,2,3,[1,2,['a','b',c']])中的第三层嵌套列表中的 'b'
2、如果想改变:只能改变嵌套中的列表内容,元组内列表外的内容不可改变,如例中 a[2]='3'想把元组a=(1,2,3,[1,2,['a','b','c']])中的第三个数字3改成字符串‘3’,是不可行的,而后面的a[3][2]='4'是可以更改的,因为它改变的是列表中的内容
运算符
算数运算符
加+、减-、乘*、除/
// 取整除,如3//2=1
% 取余数,如5%2=1
** 次方,如2**2=2,2**5=32
赋值运算符
= 直接赋值
+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除后赋值
&= 除取余后赋值
**= 次方后赋值
//= 除取整后赋值
四种都是运算后再赋值,运算同算数运算符
比较(关系)运算符
== 等于
!= 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
运算结果 True(真)或False(假)
两个单个字母来比较(如a和b)是比较它们的ASCII码
两个多个字母来比较(如abc和abd)是从前往后依次比较它们的ASCII码
列表、元组都是可以比较的,也是依次第一、第二....来比较
逻辑运算符
and 并且
两个都 是True时才会返回True
or 或者
两个都是False时才会返回False,如果第一个是True时直接就返回True了,因为不管第二个是何类型都是True,所以就不用读第二个了
not 不是
不是真就是假,如 not True=False
数字、字母、字符串、列表都是表示1即 True
数字为0、空字符串、空列表都是表示0即 False
当比较的两个同类型时,返回是第二个,如例中 1 and 2 返回是 2
如果读第一个就知道结果,就不会再读第二个了,返回就是第一个,如 1 or 2 返回 1 ,读完1 和or后就知道结果是True了,所以返回1(1是True,不为0的数字都是True)
成员运算符
in 是否在
not in 是否不在
字符串、列表、元组、集合都符合
字典运算符则是比较 Key
身份运算符
is 比较身份(内存地址)是否相等
is not 比较身份(内存地址)是否不等
比较(关系)运算符比较的是值,而身份运算符比较的是身份
概要
元组对组内其中的排序有要求,顺序不同数值就不同,而集合就不存在排序问题
扩展知识点:对象的三大特征:数值(Value)、身份(id)、类型(type)
用isinstance( , ( ) ) 来判断是什么类型
后面也可以是元组,符合元组中任一个就返回True,否则返回False
位运算符
& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 左移动
>> 右移动
把数字转换成二进制再进行运算
子主题
多位数就一直除下来