**(一)变量**
1、=是赋值操作符,spam=42读作:将42赋值给spam。
2、变量名要有意义,命名可读性要强(具有描述性),使用下划线来分隔单词。
3、变量命名规则:首字符不能是数字;只能包含字母、数字和下划线,字母区分大小写;不能使用系统保留的关键字和函数名(and、if、import等),大写的可以(因为区分大小写)。
4、id()函数返回对象(变量)的内存地址。
5、a=v1;b=a;a=v2或a[0]=v2。这三行代码,当值是不可变类型时(str、tuple、int),b指向v1,a=v2创建一个新的变量,b还是v1;当v1是列表时(可变类型),b随a变。
**(二)列表的可变与元组的不可变**
1、如下示例:
~~~
>>> a = [1, 2, 3]
>>> id(a)
>>> a[0] = 'a'
>>> id(a) #返回值与line2一样,不变
~~~
2、元组内部元素数据类型不要求一致,元组内元素可以是列表。
3、元组内的元素不可变,如果元组内的元素是列表,可以改变列表内元素的值。
**(三)运算符**
1、算术运算符:+、-、 * 、/、//、%、 **
2、赋值运算符:=、+=、*=、/=、%=、**=、//=
3、比较(关系)运算符:==、!=、>、<、>=、<=
(1)返回布尔值
(2)计算顺序是从左向右(?需要验证)
(3)两个字母比较是通过ascll码,两个字符串是逐个字符比较。
(4)两个列表也可以比较,逐个元素比较,元素数量可以不一致。
(5)元组也可以比较,逐个元素比较,元素数量可以不一致。
4、逻辑运算符:and(且、与)、or(或)、not(非,只操作一个变量)
(1)返回值是布尔值
(2)int、float的0被认为是False,非0被认为是True
(3)空字符串、列表、元组、集合、字典被认为是False,非空被认为是True。
5、成员运算符:in、not in
6、身份运算符:is 、 is not
7、位运算符:&、|、^、~、>>、<<