网站后台 竖着 导航菜单,什么网站可以做钟点工,3g微网站,省机关事务局网站建设管理情况目录
一.关于内存二.可变数据类型和不可变数据类型 1.可变数据类型和不可变数据类型区别2.不可变数据类型3.可变数据类型 三.重点总结四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 Python 数据类型分别有整数 int / 浮点数 float / 布…目录
一.关于内存二.可变数据类型和不可变数据类型 1.可变数据类型和不可变数据类型区别2.不可变数据类型3.可变数据类型 三.重点总结四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 Python 数据类型分别有整数 int / 浮点数 float / 布尔值 bool / 元组 tuple / 列表 list / 字典 dict;
其中数据类型分为两个大类一种是可变数据类型一种是不可变数据类型两者有什么区别呢
一.关于内存
在讲解 Python 可变数据类型和不可变数据类型之前需要先普及一下内存相关的简单知识
在 Python 编程的时候代码中的变量实际上都是存储在计算机内存中当然这里指的内存在计算机中是虚拟的你看不见摸不着每一个内存都有一个对应的内存地址讲到这里需要再次介绍一个 Python 内置函数 id该函数可以用于获取内存地址获取内存地址方法如下
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python 可变数据类型和不可变数据类型.py
Time:2021/3/20 23:00
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累if __name__ __main__:a 10b 20print(a的数据类型是{} 地址{}.format(type(a),id(a)))print(b的数据类型是{} 地址{}.format(type(b), id(b)))
输出结果
a的数据类型是class int 地址1994744256
b的数据类型是class int 地址1994744576分析下上面代码定义了局部变量 a 和 b Python 会自动给局部变量分配内存分别用来存放整数 10 和 20 并通过内置函数 id 获取内存地址关于内存这里不做过多介绍你需要记住的是每一个内存都有一个一个对应的内存地址分配的内存在程序结束时由系统自动回收!
二.可变数据类型和不可变数据类型
Python 数据类型分别有整数 int / 浮点数 float / 布尔值 bool / 元组 tuple / 列表 list / 字典 dict 这是 Python 开发中最常用的数据类型
1.可变数据类型和不可变数据类型区别
可变数据类型当该数据类型对应的变量的值发生了变化时如果它对应的内存地址不发生改变那么这个数据类型就是 可变数据类型。
不可变数据类型当该数据类型对应的变量的值发生了变化时如果它对应的内存地址发生了改变那么这个数据类型就是 不可变数据类型。
总结可变数据类型更改值后内存地址不发生改变不可变数据类型更改值后内存地址发生改变。
2.不可变数据类型 不可变数据类型数值类型int、float、bool、string字符串、tuple元组 # !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python 可变数据类型和不可变数据类型.py
Time:2021/3/25 23:00
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累#整形变量
a 10
print(整形变量a修改之前地址{}.format(id(a)))
a 20
print(整形变量a修改之后地址{}.format(id(a)))
print(****20)#浮点数变量
a 10.5
print(浮点数变量a修改之前地址{}.format(id(a)))
a 20.2
print(浮点数变量a修改之后地址{}.format(id(a)))
print(****20)#字符串变量
a hello
print(字符串变量a修改之前地址{}.format(id(a)))
a world
print(字符串变量a修改之后地址{}.format(id(a)))
print(****20)#布尔值变量
a False
print(布尔值a修改之前地址{}.format(id(a)))
a True
print(布尔值a修改之后地址{}.format(id(a)))
print(****20)#元组的数据不能修改否则会报错
输出结果
整形变量a修改之前地址1994744256
整形变量a修改之后地址1994744576
************************************************************
浮点数变量a修改之前地址2713286559088
浮点数变量a修改之后地址2713286559136
************************************************************
字符串变量a修改之前地址2713269294224
字符串变量a修改之后地址2713269272112
************************************************************
布尔值a修改之前地址1994252480
布尔值a修改之后地址1994252448
************************************************************3.可变数据类型 可变数据类型list列表、dict字典 # !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python 可变数据类型和不可变数据类型.py
Time:2021/3/25 23:00
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累#列表
a list()
print(列表a修改之前地址{}.format(id(a)))
a.append(20)
print(列表a修改之后地址{}.format(id(a)))
a.append(False)
print(列表a修改之后地址{}.format(id(a)))
a.append(hello)
print(列表a修改之后地址{}.format(id(a)))
print(****20)#字典
a dict()
print(字典a修改之前地址{}.format(id(a)))
a[name]zhangsan
print(字典a修改之后地址{}.format(id(a)))
a[age]18
print(字典a修改之后地址{}.format(id(a)))
a[sing_dog]True
print(字典a修改之后地址{}.format(id(a)))
print(****20)
输出结果
列表a修改之前地址2067294579016
列表a修改之后地址2067294579016
列表a修改之后地址2067294579016
列表a修改之后地址2067294579016
************************************************************
字典a修改之前地址2067294527992
字典a修改之后地址2067294527992
字典a修改之后地址2067294527992
字典a修改之后地址2067294527992
************************************************************三.重点总结
1.不可变数据类型数值类型int、float、bool、string字符串、tuple元组** 2.可变数据类型list列表、dict字典**** 3.可变数据类型更改值后内存地址不发生改变不可变数据类型更改值后内存地址发生改变**
四.猜你喜欢
Python 简介Python Pycharm Anacanda 区别Python2.x 和 Python3.x如何选择Python 配置环境Python Hello World 入门Python 代码注释Python 中文编码Anaconda 是什么Anconda 下载安装教程Pycharm 提示this license **** has been cancelledPycharm 设置开发模板/字体大小/背景颜色Python 列表 listPython 元组 tuple
未经允许不得转载猿说编程 » Python 可变数据类型和不可变数据类型