美文网首页
python 内存系列(1)-简单图解 python中内存和变量

python 内存系列(1)-简单图解 python中内存和变量

作者: 小钟钟同学 | 来源:发表于2021-03-05 17:50 被阅读0次

前言

因之前有初学编程的人问我,关于python内存地址和变量一些疑问说他们之前到底怎么变化,对应的关系是怎么样?解说一番后,他更茫然了!无奈!于是乎还是尝试用这种方式做一个简单笔记记录。

1 python中内存和变量图解示例

无理论直接干代码:

import sys
print("=========================================")
print("开始创建一个变量,开闭一个新的内存空间A1")
a1 = '小钟同学'
print('a1在内存中的【初始】16进制地址为:', hex(id(a1)))
print(sys.getrefcount(a1))
a1 = '小钟同学睡觉了'
print("修改A1的值,---开闭一个新A1的内存地址空间分配")
print('a1在内存中的【最新】16进制地址为:', hex(id(a1)))
print(sys.getrefcount(a1))
print("=========================================")
print("a1的地址和值=a2的地址和值")
a2 = a1
print("a1的值为:", a1, "|", "a1在内存中的【最新】16进制地址为:", hex(id(a1)))
print(a2, hex(id(a2)))
print("a2的值为:", a2, "|", "a2在内存中的【最新】16进制地址为:", hex(id(a2)))
print("=========================================")

print("重新把之前的值给a1,它的地址是否会变呐?")
a1 = "小钟同学睡觉了"
print("a1的值为:", a1, "|", "a1在内存中的【最新】16进制地址为:", hex(id(a1)))
print(a2, hex(id(a2)))
print("a2的值为:", a2, "|", "a2在内存中的【最新】16进制地址为:", hex(id(a2)))
print("=========================================")
print("修改a2的值,观察a1和a2的地址的地址")
a2 = "小钟同学该上班了!"
print("a1的值为:", a1, "|", "a1在内存中的【最新】16进制地址为:", hex(id(a1)))
print(a2, hex(id(a2)))
print("a2的值为:", a2, "|", "a2在内存中的【最新】16进制地址为:", hex(id(a2)))

输出结果:

=========================================
开始创建一个变量,开闭一个新的内存空间A1
a1在内存中的【初始】16进制地址为: 0x19cc110
4
修改A1的值,---开闭一个新A1的内存地址空间分配
a1在内存中的【最新】16进制地址为: 0xe6df38
4
=========================================
a1的地址和值=a2的地址和值
a1的值为: 小钟同学睡觉了 | a1在内存中的【最新】16进制地址为: 0xe6df38
小钟同学睡觉了 0xe6df38
a2的值为: 小钟同学睡觉了 | a2在内存中的【最新】16进制地址为: 0xe6df38
=========================================
重新把之前的值给a1,它的地址是否会变呐?
a1的值为: 小钟同学睡觉了 | a1在内存中的【最新】16进制地址为: 0xe6df38
小钟同学睡觉了 0xe6df38
a2的值为: 小钟同学睡觉了 | a2在内存中的【最新】16进制地址为: 0xe6df38
=========================================
修改a2的值,观察a1和a2的地址的地址
a1的值为: 小钟同学睡觉了 | a1在内存中的【最新】16进制地址为: 0xe6df38
小钟同学该上班了! 0x19e40c8
a2的值为: 小钟同学该上班了! | a2在内存中的【最新】16进制地址为: 0x19e40c8

图解

image.png

说明

部分的图或资料来互联网收集整理,如有侵权,烦请联系,我会立即进行删除。

End

纯属个人实践中相关经验之谈,如有纰漏,还希望大佬们多多提点!
小钟同学 | 文 【原创】|

相关文章

  • python 内存系列(1)-简单图解 python中内存和变量

    前言 因之前有初学编程的人问我,关于python内存地址和变量一些疑问说他们之前到底怎么变化,对应的关系是怎么样?...

  • python学习日记--变量与常量

    1、变量(variable) 变量是计算机内存中的一块区域,在python中,内容可以任意改变。变量在内存中创建时...

  • Python变量:声明,连接,全局和本地

    Python中的变量是什么?   Python变量是用于存储值的保留内存位置。换句话说,python程序中的变量将...

  • Python变量:声明,连接,全局和本地

    Python中的变量是什么? Python变量是用于存储值的保留内存位置。换句话说,python程序中的变量将数据...

  • Python学习之路第三节:Python变量,常量和文字详解

    在本教程中,您将学习Python变量,常量,文字及其使用案例。 Python变量 变量是用于在内存中存储数据的命名...

  • 变量类型

    1. Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类...

  • python中的变量进阶

    1. 变量的引用 变量 和 数据 都是保存在 内存 中的在 Python 中 函数 的 参数传递 以及 返回值 都...

  • python变量类型

    python中的数据存储和变量命名的关系是:变量存储在内存中的值,当变量赋值时会在内存中开辟一个空间,基于值的数据...

  • 4.引用

    变量:对象的引用 变量存储对象的内存地址 对象:堆内存 变量:栈内存 python不用声明变量类型,但对象有类型,...

  • (2)变量类型、运算和字符串编码

    python是弱语言类型,不需要显式的声明变量,不需要提前声明变量的类型,python中没有常量 1 保存在内存中...

网友评论

      本文标题:python 内存系列(1)-简单图解 python中内存和变量

      本文链接:https://www.haomeiwen.com/subject/uaqdqltx.html