第五章 python变量与运算符

作者: 九日_Reedo | 来源:发表于2017-11-27 21:34 被阅读0次

    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变量与运算符

        本文链接:https://www.haomeiwen.com/subject/hcljbxtx.html