一、变量
变量=名字
“=”:赋值符号
名字要有意义,命名可读性要强
变量命名规则:
1.字母、数字、下划线,可以任意组合,但首字母不能为数字
2.系统保留关键字不能用在变量名中
3.区分大小写
4.动态语言,没有类型限制,eg.int,float...
int和list的区别:
int值类型,list引用类型
a=1, b=a, a=3 >>> b=1
a=[1,2,3,4,5], b=a, a[0]='1' >>> a=['1',2,3,4,5], b=['1',2,3,4,5]
值类型:int, str, tuple(不可改变)
引用类型:list, set, dict(可变)
id函数,显示变量的地址
list[], tuple()
例如:b=[1,2,3], b.append(4) >>> [1,2,3,4]
c=(1,2,3), c.append(4) >>> 报错
多维
例如:a=(1,2,3,[1,2,4]), a[3][2] >>> 4
注:可以改变元组中的列表
二、运算符
余数: %
平方、立方:2**2
算术运算符
赋值运算符
比较(关系)运算符:结果返回布尔值 True或False
不只是数字才能做比较运算符!(按相同位比较)
例如:b=1, b+=b>=1, print(b) >>> 2. 因为b>=1等于True,而int(True)=1,所以相当于b=b+1
逻辑运算符(主要操作布尔类型,返回结果也是布尔类型)
and:且(与)
or:或
not:非(操作一个变量)
非布尔类型
int,float:0被认为是False,非0表示True
例如:not 0.1 >>> False
字符串:空字符串,被认为是False,否则True
列表:空列表False,否则True
tuple,set,dict:同列表
(返回的值是对应的布尔类型)
例如:1 and 0 >>> 0, 0 and 1 >>> 0(False)
1 and 2 >>> 2, 2 and 1 >>>1 (计算机处理时必须知道2才能判断结果)
1 or 2 >>> 1 (or的运算特性,得到第一个值就可以判断出True)
成员运算符
in,not in
字典:针对key:value的key操作的,例如:b='c', b in {'c':1} >>> True
身份运算符(对象)(返回布尔值)
如果两个变量取值相等,则is,返回True,例如:a=1, b=2, a is b >>> False
is与关系运算符“==”的区别:
“==”:比较值是否相等
is:不是比较值相等,比较的是两个变量的身份是否相等
思考:a = {1,2,3}, b = {2,1,3}, a == b >>> True, a is b >>> False
c = (1,2,3), d = (2,1,3), c == d >>> False, c is d >>> False,因为元组是有序的
对象的三个特征:(一切都是对象)
1. a == b:值value
2. a is b:身份id
3. 类型:判断type, isinstance(推荐)。type(a) == int
注:isinstance(a, str) — 判断a是否是str类型
isinstance(a, (int, str, float)) — 判断a是否是(int, str, float)种的任意一种类型,如果是str,就返回True