• 6、可变不可变类型和运算符以及流程控制之if判断


    一、可变不可变类型

    1.1、什么是可变不可变类型

      可变类型:在id不可变的情况下,变量值可以改变,说明原值是可以改变的。例如列表、字典。

      不可变类型:变量值变了,id也变了,证明是产生了新的值,没有改变原值。例如整型、浮点型、字符串。

    1.2、验证

    1.2.1、整型int是不可变类型

      a=1

      print(id(a))

      a=2

      print(id(a))

    1.2.2、浮点型float是不可变类型

      a=1.3

      print(id(a))

      a=1.4

      print(id(a))

    1.2.3、字符串是不可变类型

      a='123'

      print(id(a))

      a='345'

      print(id(a))

    总结:整型int、浮点型float、字符串str都被设计成一个整体,不可变类型。

    1.2.4、列表list是可变类型

      a=['1','2','3']

      print(id(a))

      a[0]='4'

      print(id(a))

    1.2.5、字典dict是可变类型

      a={'b':1,'c':2}

      print(id(a))

      a['b']=3

      print(id(a))

    总结:列表list和字典dict是可变类型,字典的key必须是不可变类型通常为字符串,value可以为任意类型。

    1.2.6、布尔类型为不可变类型

    二、条件

    2.1、什么是条件

      条件是两个事物发生联系时必须发生的性质。

    2.2、为什么要有条件

      希望计算机能够相认一样通过条件,关联出结果。

    2.3、怎么使用条件

      计算机中通常使用比较运算符来关联事物。例如:age=18。

    三、运算符

    3.1、逻辑运算

      逻辑运算符用于连接多个条件,并进行判断,会返回Ture或者False

    3.1.1、not

      逻辑非,是将下一个条件的结果进行取反,与紧跟在后面的那个条件是不可分割的。

    3.1.2、and

      逻辑与,是将左右两个条件进行连接,两个条件都是Ture,结果才是Ture。

    3.1.3、or

      逻辑或,试讲左右两个条件进行连接,连个条件只要有一个是真的,结果就是真的。

    3.1.4、优先级

      在单独一种运算符时,从做到右依次运算;

      在不同运算符号时,按照not>and>or的顺序进行运算。

    3.1.5、偷懒原则:and的左右两边只要有一个为False,另一个不用判断,输出结果直接为false,如果两个都是Ture,输出结果是第二个数值。

            or的两边只要有一个Ture,另一个结果就不用判断,输出结果为第一个数值,两个结果都是Flase,输出False。

    3.1.6、举例

      res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3

        Flase       False               False      True           False

    3.2、成员运算符 in

      print( 'a' in 'hallo world' )

      print('a' in {'a':1,'b':2})

      判断一个字符是否在一个字符串中,也可以判断key是否在字典中。也可以用not in 代表不存在。  

    3.3、身份运算符

      is 用来判断id是否相等。

    四、流程控制之if判断

      流程控制就是控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前使用的从上到下依次运行就是顺序结构)、分支结构(使用if进行判断)、以及循环结构(使用while或者for)

    4.1、什么是分支结构

      根据条件的不同走向去执行不同的选择。

    4.2、为什么要有分支结构

      让计算机能够根据条件,去执行设定不同的结果,像人一样去判断。

    4.3、怎么使用if分支结构

      if 条件一:

        代码一

        代码二

        。。。

      elif 条件一:

        代码一

        代码二

        。。。

      else :

        代码一

        代码二

    4.4、示范

    如果:成绩>=90,那么:优秀

          如果:成绩>=80且<90,那么:良好

               如果:成绩>=70且<80,那么:普通

          如果:成绩>=60且<70,那么:及格

               其他情况,不合格。

    score =input('请输入你的成绩:')

    score=int(score)

    if score>=90:

      print('优秀')

    elif score>=80:

      print('良好')

    elif score>=70:

      print('普通')

    elif score >=60:

      print('及格')

    else:

      print('不及格')

  • 相关阅读:
    Dirichlet distribution【转】
    实现Div层里的文字垂直居中的方法
    Kullback–Leibler divergence相对熵【转】
    判别模型、生成模型与朴素贝叶斯方法【转】
    卸载wine只需简单6个步骤【转】
    在ubuntu11.04通过Wine使用中国知网cnki的CAJview阅读器打开*.nh *.caj后缀的文献资料【转】
    网页制作学习网站收集
    XML数据绑定到Table中
    ubuntu10.04教育网更新源sources.list【转有效的】
    cidaemon.exe导致CPU100%的解决办法
  • 原文地址:https://www.cnblogs.com/jingpeng/p/12431212.html
Copyright © 2020-2023  润新知