变量与数据类型

变量

变量定义记录值的变化,量是可变的

格式:变量 = 值

 

变量的使用:

原则:先定义,后使用

变量的定义:变量命名要 见名之意

  1. 以字母,数字,下线组成
  2. 数字不能开头
  3. 变量名不能与 Python 关键字名字一致

变量的内存管理

内存管理:垃圾回收机制
垃圾:变量名个数为 0 这个变量值就无法访问。

引用计数:表示访问变量内存地址的次数

引用计数增加:

引用计数减少:
del :解除变量名 x 与 y 的关系
del x

 

变量值三大特征:

  • id: 查看变量反映变量值的内存地址
  • type:查看变量类型
  • value:值
  • is:比较左右两个值身份 id 是否相等
    • id 相同内存地址会相同
    • id 不相同内存地址可能会相同
  • == :比较左右两个的值是否相等

常量

常量:不变的量
在程序运行过程中,有些值是固定的、不应该被改变(通常变量都是大写),
如 圆周率 3.1415926

数据类型

  1. 字符串:用引号包裹起来的内容,具有描述功能
  2. 数值类型:
    • 作用:算术运算符,比较运算
    • 整型:int
    • 浮点型:folat

  3.列表:[ ] 可以存储任意值用逗号隔开

    • 作用:可以记录多个值
    • 索引取值的是变量的下标:
    • 正数从0开始取值
    • 负数从-1开始取值

 

  4.字典:用大括号表示{ keys:value }

    • keys:键,为字符串类型(keys 是不可变的)
    • value:值,可以是任意类型(value 是可变的)
    • items: 键值对
    • 字典取值:
    • print {变量名" keys "}

  5.布尔类型:

    • True   表示真(1 表示 True)
    • False 表示假(0,空,None 表示 False)
    • 使用于 if 判断中

垃圾回收机制

垃圾回收机制(简称GC)是 Python 解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间

引用计数:表示访问内存地址的次数
直接引用:直接引用指的是从栈区出发直接引用到的内存地址。

​ 间接引用指的是从栈区出发引用到堆区后,再通过进一步引用才能到达的内存地址。
x = 10
l1 = [x, l2]

标记清除:当内存空间不足时 程序停止运行,标记清除会扫描栈区,如果没有被引用的会被清理掉,堆区的数据如果没有互相引用则计数为0那么就会被清除。

分代回收:在GC 多次扫描下会对变量分类,提高回收效率

栈区:存放变量名内存地址
堆区:存放变量值

栈区与堆区的关系就是变量名与内存地址值的引用传递的关系

接收用户输入

输入使用 input 函数 接收的所有内容都是字符串类型

 

格式化输出

  • % 按照位置传值
  • 字符串:%s
  • 整数:%d
  • 浮点数:%f
  • 2个%表示一个%:%%
  • str.format: { }(兼容性好)
  • fstring ' '

运算符

算术运算符

  • + 加
  • - 减
  • * 乘
  • / 除
  • ** 幂 - 平方
  • // 取整除
  • % 取模 - 返回除法的余数

赋值运算符

  • = 给变量赋值
  • += 加法赋值运算符
  • -= 减法赋值运算符
  • *= 乘法赋值运算符
  • /= 除法赋值运算符
  • %= 取模赋值运算符
  • **= 幂赋值运算符
  • //= 取整除赋值运算符


链式赋值:

  • = 给变量赋值
  • += 加法赋值运算符
  • -= 减法赋值运算符
  • *= 乘法赋值运算符
  • /= 除法赋值运算符
  • %= 取模赋值运算符
  • **= 幂赋值运算符
  • //= 取整除赋值运算符


链式赋值:

 

交叉赋值:

 

解压赋值:_ 表示占位符

比较运算符

  • == 等于
  • != 不等于
  • > 大于
  • < 小于
  • >= 大于等于
  • <= 小于等于

返回的是布尔型:
True:表示条件成立,执行代码
False:表示条件不成立,不执行代码

 

逻辑运算符

and
or
not
返回的是布尔型:
True:表示条件成立,执行代码
False:表示条件不成立,不执行代码

运算符优先级:
not  >  and  > or

 

成员运算符

in
not in
返回的是布尔型:
True:表示条件成立,执行代码
False:表示条件不成立,不执行代码

 

身份运算符

is
not is
返回的是布尔型:
True:表示条件成立,执行代码
False:表示条件不成立,不执行代码

 

可变与不可变类型

可变类型:允许在原有内存空间上修改数据,修改后地址不变。

  • 可变类型有:list,dict, 集合

不可变类型:不允许在原有的内存空间上修改数据,修改后内存地址会发生变化。

  • 不可变类型:float ,int, str, tuple

 

if 判断语句

 

 

 

 

 

 

 

posted @ 2020-03-07 00:30  zhw_sylvia  阅读(306)  评论(0)    收藏  举报