5.1 变量
5.1.1 什么时变量
变量:名字,可以将值赋值给变量,使用=赋值,如
>>>a=1#将数值1赋值给变量a
>>>name='mike'
>>>degree= ['优','良','中','差']
注意:Python中变量是没有类型区别的(因为python是动态语言,不用先定义变量类型)
5.1.2 变量命名规范:
变量一般可由数字、字母、下划线组成,不可纯数字,不可数字开头,区分大小写
系统中保留关键字不可用在变量命名中
编程中一般变量名取得要有意义,命名可读性强,一般使用英文名称,驼峰命名等。
产量:不能变的变量,Python中一般全部用大写表示,如PI=3.14但是PI还是变量,Python并没有任何限制保证常量不被改变。
5.1.3 值类型与引用类型变量区分:
int是值类型、list是引用类型,
值类型不可改变,赋值给变量后变量不随值的改变而改变;引用类型是可变的,赋值给变量后变量随着数值的改变而改变
值类型(不可变)包括:int、str、tuple; 引用类型(可变)包括:list、set、dict。
>>>a=1
>>>b=a
>>>a=2#a重新指向一个新的值2
>>>b
1
>>>c= [1,2,3]
>>>d=c
>>>c[0] =4#改变原来的[1,2,3]内容为[4,2,3],并没有重新赋新值,因此赋给d的值的内容也被改变
>>>d
[4,2,3]
5.2 运算符
5.2.1 算数运算符:
加:+
减:-
乘:*; 高阶乘:**
除。 /:除、返回float; //:整除,返回int,不保留小数部分; %: 除取余
5.2.2 赋值运算符:
=
+=: 加计算后赋值:
>>>a=1
>>>a+=2#等等于a=a+1,其他同理
3
-=
*=、**=
/=、//=、%=
注意:算数运算和赋值运算都可能含有运算逻辑,区别在于赋值运算运算后会重新赋值,改变原来变量赋值,而算数运算不会进行赋值,不会改变原来变量的值。
5.2.3 比较(关系)运算符:
值进行比较,返回True或False
== : 比较值是否相等
>>>1==1
True
>>>1==1.0#虽然是不同类型,但是在数学是值相同
True
>>>[1,2,3] == [2,1,3]#list是无序的,值相同即返回True
True
>>>(1,2,3) ==(2,1,3)#tuple是有序的,按照位置比较,不相同
False
>>>1=='1'不同类型(数字、字符串)不同
False
!=
、= 、、=
注意:
比较运算除了比较数值外还会比较类型,返回bool值True或False
字符也可以进行比较,单个字符会按照对于的ascii码进行比较,多个字符时会依次对字符进行比较大小;元组列表会对其中的元素依次进行比较
5.2.4 逻辑运算符:
逻辑运算操作类型及返回类型都是布尔类型
and 、 or 、 not
注意:
int、float中0被认为是False,其他被认为是True,str、list、set、dict等中空被认为是False,其他被认为是True
and or 操作非布尔类型的值时会将运算值对应到True、False并按照运算逻辑返回最先能判断结果的对应的值。
>>>1and2#只有运算到2时才能判断返回结果为True,最快返回2
2
>>>1or2#运算到1 or时就可以判断返回结果为True,最快返回代表True的1
1
5.2.5 成员运算符:
判断一个元素是否在一组元素中,返回True或False
in 、not in
注意:str、list、tuple判断元素中的值,dict判断元素中的key
5.2.6 身份运算符:
针对对象进行判断,比较两个变量身份是否相等(内存id是否相同),返回True或False 。相同对象(内存id相同)拥有相同值(==判断)、类型(isinstancepan判断)、id。
is 、 is not
5.2.7 位运算符(了解):
针对int数字,把数字当作二进制进行运算,返回运算后10进制的值
& :按位与 : 二进制中对应位全部为1时取1,否则取0
| :按位或: 二进制中对应位只要有1时取1,全部为0时取0
^ : 按位异或:
~ : 按位取反
<< : 左移动
: 右移动
其补充知识点:
判断类型是否相同用type或isinatance()方法
>>>a='reedo'
>>>type(a) =str
True
>>>isinstance(a,str)#推荐
True
>>>isinstance(a,int)
False
>>>isinstance(a,(str,int))#扩展知识, instance函数判断类型可以是元组。
True
5.2.8 各运算关系:
表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列
表达式优先级:
算数运算符>比较运算符>身份运算符>逻辑运算符>赋值运算符
算数运算符中:指数>乘除>加减
逻辑运算符中:not > and >or
编号运算符描述
1**算数运算符(指数)
2* / % //算数运算符(乘除)
3+ -算数运算符(加减)
4<= < > >=比较运算符
5<> == !=比较运算符
6is is not身份运算符
7in not in成员运算符
8not逻辑运算符(非)
9and逻辑运算符(且)
10or逻辑运算符(或)
11= %= /= //= -= += *= **=赋值运算符