首页 > 系统相关 >76:参数的传递_不可变对象含可变子对象_内存分析

76:参数的传递_不可变对象含可变子对象_内存分析

时间:2022-11-19 13:55:46浏览次数:47  
标签:20 对象 888 76 内存 可变 print id

###传递不可变对象包含的子对象是可变的情况

# 传递不可变对象时。不可变对象里面包含的子对象是可变的。则方法内修改了这个可变对象,源对象也发生了变化。

a = (10, 20, [5, 6])
print("a:", id(a))


def test01(m):
    print("m:", id(m))
    m[2][0] = 888
    print(m)
    print("m:", id(m))


test01(a)
print(a)

输出结果:

D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy10.py 
a: 2246024907456
m: 2246024907456
(10, 20, [888, 6])
m: 2246024907456
(10, 20, [888, 6])

 

标签:20,对象,888,76,内存,可变,print,id
From: https://www.cnblogs.com/yuanzijian/p/16905978.html

相关文章

  • 71:变量的作用域_全局变量_局部变量_栈帧内存分析讲解
    ###变量的作用域(全局变量和局部变量)变量起作用的范围称为变量的作用域,不同作用域内同名变量之间互不影响。变量分为:全局变量、局部变量。全局变量:1.在函数和类定义之......
  • 70:函数也是对象_内存分析
    ###函数也是对象,内存底层分析Python中,“一切都是对象”。实际上,执行def定义函数后,系统就创建了相应的函数对象。我们执行如下程序,然后进行解释:defprint_star():......
  • 67:函数的基本概念_内存分析_函数的分类_定义和调用
    ###函数简介###函数的基本概念1.一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。2.函数是代码复用的通用机制。###Python函数的分类Python中函数分为......
  • 奇妙的FormData对象
    FormData对象,使得我们可以在AJAX异步请求中,实现原先HTML表单自动封装数据并提交的能力。它的实现方式也非常简单。1.表单属性非常干净,没有了action、method、enc......
  • JavaScript_对象_Global与DOM简单学习
    JavaScript_对象_GlobalGlobal:全局对象1.特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();2.方法......
  • vba的xmlhttp对象的使用
    1、xmlhttp:早期用于远程数据库管理;传送XML数据格式的超长文本传输协议;不仅仅是XML格式;还可以是字符串,二进制流等。2、引用方式(1)直接引用:MicrosoftXML......
  • C++ZeroMemory内存清零
      看:https://www.cnblogs.com/liming19680104/p/10499280.html         ......
  • JVM内存结构与内存模型
    这篇文章重点讲一下jvm的内存结构和内存模型的知识点。1、内存结构jvm内存区域主要分为线程私有区域【程序计数器,虚拟机栈,本地方法栈】,线程共享区域【堆,方法区】,直接内存......
  • 面向对象进阶(static&继承)
    ​ 今日分享:static  and 继承 static:staic是修饰符可以修饰方法和变量 变量:被static修饰的变量称为静态变量特点:该类的所有对象都共享同一个静态变量;不属......
  • 同步与异步 multiprocessing 进程对象多种方法
    目录同步与异步阻塞与非阻塞综合使用创建进程的多种方式前言windows系统创建进程的问题(重要)multiprocessing模块之Process展现异步创建进程的方式(一):使用Process()创建进程......