疫情环境下的网络学习笔记 python 3.6

今日内容

  1. 可变不可变类型
  2. 逻辑运算符
  3. 身份运算符
  4. 什么是条件,什么可以当作条件
  5. 流程控制

正课

可变不可变类型

将数据类型以可变不可变进行区分

  • 可变类型:值改变,id不变,证明改的是原值
  • 不可变类型:值改变,id也变了,证明与原来的值解绑,产生了新的值,证明原值是不可以修改的

不可变类型

  • 整型,浮点型(整型,浮点型是一个不可分割的整体,所有操作都是产生了新的值,于原值没有关系)
  • 字符串
  • 元组
  • 在容器中进行修改内存的地址,该容器本身并没有挪动,不代表其是不可变

可变类型

  • 列表类型
  • 字符串类型

关于字典补充

  1. 定义,{}内勇斗好分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型,理论上整型和浮点型也可也作key

可变类型:不可哈希;不可变类型:可哈希

逻辑运算

and,or,not

用来连接多个条件,进行运算得到结果

什么是条件?

  • 显示布尔值

    • 比较运算符结果
    • 直接的布尔值 True / False
  • 隐式布尔值

    所有的值都可以当成条件去用,只有 0 none 空为假,其他都为真

    • 0,运算结果为数字;其他数字都为真
    • '',[],{} 空列表空字典空字符串
    • none 什么也没有

not,and,or

  1. not:将紧跟其后的那个条件结果取反,于其后的条件是一个不可分割的整体

  2. and:逻辑与,用来连接左右两个条件,必须两个条件同时为真,最终结果才为真

    偷懒原则

    • and运算符在计算到假条件时马上返回假,不计算后面的条件

    • and返回计算最后一次的条件的值

      True and 10
      # 返回 10
      

      全真为真,一假即假

  3. or:逻辑或,连接两个条件,两个条件但凡有一个为true,就返回True

    • 只要计算到左边条件为真,则不会计算右边的值
    • 一真即真,全假为假

优先级

  • 如果单独一串and,or连接,则从左到右依次运算即可

  • 在and,or,not同时存在的时候,存在优先级:

    • not > and > or

    把 not 跟后面紧跟的条件连在一起,再把and 两边的条件用括号括起来,再判断or

    实际写程序用括号

成员运算符 in

in

  • str:判断一个子字符串是否存在一个大字符串中
  • list:判断一个元素是否在列表中
  • dic:判断一个key是否在字典中
  • 元组 / 集合

not in 是否不在其中

身份运算符 is

判断两个值的id 是否相等

if 判断

为什么:为了让计算机具备人的判断条件,依据条件去做不同的事的功能

怎么用:语法

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

子代码块:缩进四个空格,代表同一级别的代码,称之为代码块,同一级别的代码块自上而下依次执行

if 判断可以跟多段elif,但是只运行其中一段,所有条件都不符合,则允许else

流程控制:改变计算机程序运行的顺序

if 判断可以嵌套

牛逼

python 3 可以不用and 连接多个比较运算

if 16 < age <20:
原文地址:https://www.cnblogs.com/telecasterfanclub/p/12426131.html