Python入门——流程控制

流程控制

一、可变不可变类型

  • 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的

  • 不可变类型:值改变,id也改变,证明是产生了新的值,并没有改变原值,证明原值是不可以被修改的

  • 验证

    # int是不可变类型
    x=10
    print(id(x)) # 140736198662080
    x=11
    print(id(x)) # 140736198662112
    
    # float是不可变类型
    x=2.1
    print(id(x)) # 2106767272624
    x=3.2
    print(id(x)) # 2106767272336
    
    # str是不可变类型
    x='abc'
    print(id(x)) # 1644325942576
    x='qqq'
    print(id(x)) # 1644326369200
    
    # bool不可变
    
    # 小结:int、float、str都被设计成了不可分割的整体,不能够被改变
    
    # list是可变类型
    l=[11, 22, 33]
    print(id(l)) # 3199870035008
    l[0]='AAA'
    print(id(l)) # 3199870035008
    
    
    # 字典是可变类型
    x={'k1':111, 'k2':222}
    print(id(x)) # 3199870035008
    x['k1']=333
    print(id(x)) # 3199870035008
    '''
    关于字典补充:
    定义:{}内用逗号分隔多key:value,
    	其中value可以是任意类型
    	但是key必须是不可变类型
    '''
    

二、条件

什么是条件

  • 条件就是为了达成某种状况而所要具备的机制

为什么要用条件

  • 为了能够让计算机具备人的这种判断事物是否能够成立的机制

条件有那些

  1. 显示布尔值:

    • 可以是比较运算符

      age = 18
      print(age > 16) # 条件判断之后会得到一个布尔值
      
    • 可以是True、False

      tag = True
      print(tag)
      
  2. 隐式布尔值:所有的值都可以当成条件去用

    • 其中0、None、空(空字符串、空列表、空字典等)代表的布尔值为False,其余的均为True

      print(bool(0)) # False
      print(bool(None)) # False
      print(bool('')) # False
      print(bool([])) # False
      print(bool({})) # False
      

三、分支结构

什么是分支结构

  • 分支结构就是根据条件判断的真假去执行不同分支对应的子代码

为什么要用分支结构

  • 人类某些时候需要根据条件来决定做什么事情,程序中也必须有相应的机制来控制计算机具备这种判断能力

如何使用分支结构

  1. if语法

    if 条件1:
        代码块1
    elif 条件2:
        代码块2
    ...
    else:
        代码块3
    

      注意:

    • (1)、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
    • (2)、条件可以是任意表达式,但执行结果必须为布尔类型
    • (3)、None、0、空三种情况下转换成的布尔值为False,其余的均为True
  2. if应用案例

    • 案例1:

      # 如果:女人的年龄>30岁,那么:叫阿姨
      age = 60
      if age > 30:
          print('阿姨')
      
    • 案例2:

      # 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐
      age = 60
      if age > 30:
          print('阿姨')
      else:
          print('小姐姐')
      
    • 案例3:

      # 如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨
      age = 18
      height = 163
      weight = 85
      beautiful = True
      if age >= 18 and age < 22 and height > 170 and weight < 100 and beautiful:
          print('表白')
      else:
          print('阿姨')
      
    • 案例4:

      '''
      如果:成绩>=90,那么:优秀
      
      如果成绩>=80且<90,那么:良好
      
      如果成绩>=70且<80,那么:普通
      
      其他情况:很差
      '''
      score = 100
      if score >= 90:
          print('优秀')
      elif score >= 80:
          print('良好')
      elif score >= 70:
          print('普通')
      else:
          print('不及格')
      
      
    • 案例5:

      # if嵌套
      #在表白的基础上继续:
      #如果表白成功,那么:在一起
      #否则:打印。。。
      age = 18
      height = 163
      weight = 85
      beautiful = True
      if age >= 18 and age < 22 and height > 170 and weight < 100 and beautiful:
          print('表白')
          respon = True
          if respon:
              print('在一起')
          else:
              print('打印')
      else:
          print('阿姨')
      
posted @ 2020-03-06 12:57  群青-Xi  阅读(116)  评论(0编辑  收藏  举报