第五章 python变量与运算符

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=      %=      /=      //=      -=      +=      *=      **=赋值运算符

你可能感兴趣的:(第五章 python变量与运算符)