第五章、变量与运算符

第五章、变量与运算符

一、变量

  1. 变量[1]在python中就是一组数据的名字
  2. 定义:
A = [1,2,3,4,5,6]
print(A) # 结果:[1,2,3,4,5,6]
  1. 变量要有意义,可读性要强

  2. 变量名的规范:字母、数字、下划线

    • 首字母不能是数字
    • 不能引入别的特殊符号
    • 保留关键字(系统关键字),不能用在变量名中
    • 变量的定义区分大小写
    • 变量本身是没有类型的
  3. 深入变量

    • a = 1
      b = a
      a = 3
      print(b) # 结果:1\ b不会随a的变化而变化
      
    • a = [1,2,3,4,5,6]
      b = a
      a[0] = "1"
      print(a)
      print(b) # 结果:["1",2,3,4,5,6],变量随a的变化而变化
      
    • type = 1
      type(1) # 会报错,因为type被重新定义了
      # 如果在下面用不到,那么就可以这么定义
      
    • int:值类型[2]list:引用类型[3]

      • 区别:引用类型本身的值是可以改变的、值类型本身是不能改变的
    • b = "hello"
      id(b)
      b = "world"
      id(b)  # 结果不一样,说明变得是地址
      
    • 列表的特性

      • a = [1,2,3]
        id(a)
        a[0] = "1"
        id(a)  # 地址没有发生改变
        
      • a = (1,2,3)
        a[0] = 3  # 结果:报错,元组是不能修改的
        b = [1,2,3]
        b.append(4) # 结果:[1,2,3,4]
        a.append(4) # 报错
        
      • append()[4]

      • 为什么有了列表还要有元组,因为有的数据希望别被改变

    • 访问嵌套数据

      • a  = (1,2,3,[1,2,4])
        a[2] # 结果:3
        a[3][2] # 结果:4
        a[2] = 3 # 会报错
        a[3][2] = 8 # 可以修改
        
      • 为什么元组中嵌套列表时,列表中的数据可以改变

二、运算符

  1. 算术运算符+ - * / // % **

  2. 赋值运算符= += *= /= //= **= %=

    • 赋值运算符在于赋值,数值是会改变的
  3. 比较(关系)运算符== != > < >= <=

    • 返回一个bool值
    • 数字可以进行比较
    • 单字符也可以进行比较,比较是asscll
    • 字符串和字符串进行比较时,是逐个进行比较的
    • 列表,元组也可以进行关系运算
  4. 逻辑运算符and or not

    • 操作bool类型,返回结果都是bool类型

    • int float   # 0表示False,非0表示Turestr # 空字符串为False,非空字符串表示Ture
      
    • and or的返回是bool类型的数据,若为真的话返回的始终是非空的数据

  5. 成员运算符in not in

    • 一个元素是否在另一组元素中

    • a = 1a in [1,2,3,4]  # 结果:Ture
      
    • 字典的成员运算符[5]

    • b = "a"b in {"c":1} # 返回Falseb = 1b in {"c":1} # 返回Falseb = "c"b in {"c":1} # 返回True
      
  6. 身份运算符is is not

    • 返回的也是bool值

    • 关系运算符比较的是两个变量值是否相同,身份运算符是比较的两个数据的地址是否相同

    • 类型的判断isinstance(指定参数,数据类型)

      • a = "acad"isinstance(a,str) # Tureisinstance(a,int) # Falseisinstance(a,(int,str,float)) # True
        
    • 对象的三大特征:身份(id)、数值(value)、类型(type)

  7. 位运算符& | ^ ~ << >>:把这个数值当做二进制进行运算


  1. 动态语言 ↩︎

  2. 不可变包含:int、str、tuple ↩︎

  3. 可变包含:list、set、dict ↩︎

  4. 追加数据,只能用于列表 ↩︎

  5. 字典的成员变量运算是针对key的 ↩︎

posted @ 2021-12-27 22:43  啊哈(~ ̄v ̄)~  阅读(114)  评论(0)    收藏  举报