day5

一丶可变和不可变

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

  2丶不可变类型:值改变,id也改变了,证明是产生新的值,压根没有改变原值,证明原值是不可以改变的

  3丶验证

  # 3.1丶int是不可变类型
      x = 10
      print(id(x))
      x = 11 #产生新的值
      print(id(x))
    
  # 3.2丶float是不可变类型
      x = 10.1
      print(id(x))
      x = 11.1 #产生新的值
      print(id(x))
    
  # 3.3丶str是不可变类型
      x = 'aaa'
      print(id(x))
      x = 'bbb' #产生新的值
      print(id(x))
    
  # 小结:int,float,str被设计成了不可分割的整体,不能够被改变

  # 3.4丶list是可变类型
      l = ['aaa','bbb','ccc']
      print(id(l))
      l[0]='ddd'
      print(id(l))
    
  # 3.5丶dict是可变类型
      dict = {'k1':111,'k2':222}
      print(id(dict))
      dict['k1'] = 333
      print(id(dict))

  # 3.6丶bool不可变  
   字典的补充:{}内用逗号隔开多key:value,其中key必须是不可变类型 value可以是任意类型

二丶运算符

  2.1丶逻辑运算符:​ 逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True或False

    逻辑运算符

    优先级:not>and>or

    2.1.1丶连续and的情况:按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False

    res = 3 > 2 and 1 != 1 and True and 3 > 2 #判断到第二个条件为False 停止运行 最终结果为False
    print(res)

    2.1.2丶连续or的情况:按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True

    res = 3 > 2 or 1 != 1 or True or 3 > 2 #判断到第一个条件为True 停止运行 最终结果为True
    print(res)

    2.1.3丶混合and,or,not

    # and、or、not三者如果混用时,是存在优先级之分的,但在日常开发中我们无需记忆优先级,应该使用()来区分优先级、提升程序的可读性
    res = (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
    print(res)

   3.1丶成员运算符:

    in:判断某个对象是否包含了另一个字符串   包含则返回True

    not in:判断某个对象是否包含了另一个字符串   没包含则返回True

  3.2丶身份运算符

    is:比较id,id相同返回True

    is not:两个id不同返回 True

三丶条件

  3.1丶什么是条件:条件是判断的标准

  3.2丶什么可以当做条件:

    第一大类:显示布尔值

    # 当条件是比较运算符
    age = 18
    print(age>18) # 条件判断之后会得到一个布尔值类型

    # 当条件是True.False
    is_beautiful = True
    print(is_beautiful)

    第二大类:隐式布尔值,所有的值都可以当成条件去用

    其中(0,null,空(空字符串,空列表,空字典))都是False  其他的值都是True

  3.3丶为什么要有条件:为了让计算机能够和人类一样根据一个标准去判断对错

四丶分支结构

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

  4.2丶为什么要有分支结构:人类某些时候需要根据条件来决定做什么事情,所以程序中必须有相应的机制来控制计算机具备人的这种判断能力

  4.3丶如何使用分支结构

    4.3.1丶if语法:if如英语一样是如果的意思     

    if 条件1:   # 如果条件1的结果为True,就依次执行:代码1,......
       代码1
        ......
    elif 条件2: # 如果条件2的结果为True,就依次执行:代码2,......
       代码2
        ......
    else:     # 其它情况,就依次执行:代码3,,......
        代码3
        ......
    # 注意:
    # 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
    # 2、条件可以是任意表达式,但执行结果必须为布尔类型
    # 在if判断中所有的数据类型也都会自动转换成布尔类型
原文地址:https://www.cnblogs.com/bk134/p/12425593.html