第五章、变量与运算符
第五章、变量与运算符
一、变量
- 变量[1]在python中就是一组数据的名字
- 定义:
A = [1,2,3,4,5,6]
print(A) # 结果:[1,2,3,4,5,6]
-
变量要有意义,可读性要强
-
变量名的规范:字母、数字、下划线
- 首字母不能是数字
- 不能引入别的特殊符号
- 保留关键字(系统关键字),不能用在变量名中
- 变量的定义区分大小写
- 变量本身是没有类型的
-
深入变量
-
a = 1 b = a a = 3 print(b) # 结果:1\ b不会随a的变化而变化
-
a = [1,2,3,4,5,6] b = a a[0] = "1" print(a) print(b) # 结果:["1",2,3,4,5,6],变量随a的变化而变化
-
type = 1 type(1) # 会报错,因为type被重新定义了 # 如果在下面用不到,那么就可以这么定义
-
- 区别:引用类型本身的值是可以改变的、值类型本身是不能改变的
-
b = "hello" id(b) b = "world" id(b) # 结果不一样,说明变得是地址
-
列表的特性
-
a = [1,2,3] id(a) a[0] = "1" id(a) # 地址没有发生改变
-
a = (1,2,3) a[0] = 3 # 结果:报错,元组是不能修改的 b = [1,2,3] b.append(4) # 结果:[1,2,3,4] a.append(4) # 报错
-
append()[4]
-
为什么有了列表还要有元组,因为有的数据希望别被改变
-
-
访问嵌套数据
-
a = (1,2,3,[1,2,4]) a[2] # 结果:3 a[3][2] # 结果:4 a[2] = 3 # 会报错 a[3][2] = 8 # 可以修改
-
为什么元组中嵌套列表时,列表中的数据可以改变
-
-
二、运算符
-
算术运算符
+ - * / // % **
-
赋值运算符
= += *= /= //= **= %=
- 赋值运算符在于赋值,数值是会改变的
-
比较(关系)运算符
== != > < >= <=
- 返回一个bool值
- 数字可以进行比较
- 单字符也可以进行比较,比较是asscll
- 字符串和字符串进行比较时,是逐个进行比较的
- 列表,元组也可以进行关系运算
-
逻辑运算符
and or not
-
操作bool类型,返回结果都是bool类型
-
int float # 0表示False,非0表示Turestr # 空字符串为False,非空字符串表示Ture
-
and or
的返回是bool类型的数据,若为真的话返回的始终是非空的数据
-
-
成员运算符
in not in
-
一个元素是否在另一组元素中
-
a = 1a in [1,2,3,4] # 结果:Ture
-
字典的成员运算符[5]
-
b = "a"b in {"c":1} # 返回Falseb = 1b in {"c":1} # 返回Falseb = "c"b in {"c":1} # 返回True
-
-
身份运算符
is is not
-
返回的也是bool值
-
关系运算符比较的是两个变量值是否相同,身份运算符是比较的两个数据的地址是否相同
-
类型的判断isinstance(指定参数,数据类型)
-
a = "acad"isinstance(a,str) # Tureisinstance(a,int) # Falseisinstance(a,(int,str,float)) # True
-
-
对象的三大特征:身份(id)、数值(value)、类型(type)
-
-
位运算符
& | ^ ~ << >>
:把这个数值当做二进制进行运算