请问老师,在栈帧里生成的新对象,会随着栈帧的消失而消失吗,我的理解是不会消失,当下次调用到生成新对象这个语句时,就不会产生新的对象了,这个老的对象会自动赋值给这次的调用,所以当函数需要返回这个值时,也是把这个对象的id返回出去。老师我的理解对吗。
a = [10,20] print(id(a)) def test01(m): print(id(m)) m.append(30) print(m) print(id(m)) test01(a)
请问老师,m.append(30),我能不能理解为是列表的扩容,那么原先的这个列表地址如果不变的话,那是不是指在生成这个列表对象时,这个地址就非常的大,足够能装下后面新增的对象,但不是说,计算机会自动优化吗,那地址肯定是很小的,或者说,我是不是对地址的概念理解有偏差,地址是指内存块吗?
代码:
运行结果:
老师请问一下,在这里我定义了一个电脑工厂类ComputerFactory,使用的是单例模式,那么此时应该只能有一个工厂对象,在后面我用e=ComputerFactory()和e2=ComputerFactory()建立了一个对象e和另外一个对象e2,根据单例模式,这里的e和e2应该是同一个对象,但是我打印了这两个对象的地址发现这两个对象的地址不同,一个地址是1977310502816,另外一个地址是140724579081432,地址不同说明这两个对象不是同一个对象,老师请问一下这是因为什么原因?是因为我的代码有问题吗?
老师,isinstnce(m,Man) 中的Man是什么意思,怎么理解
#测试方法的动态性 class Person: def work(self): print("努力工作") def play_game(self, name): print("{0}在玩游戏".format(name)) def marry(s): print("挣钱娶媳妇") Person.play = play_game p = Person() p.work() p.play('张三') Person.work = marry p.work()
类方法work() self参数是默认的吗,不是构造函数__init__才有吗
试过play_name带一个参数,但是运行p.play('张三')提示给了两个参数,这是什么原因
试过marry()不带参数,叶辉提示参数错误
类方法都自带一个self参数吗?
q.salary为啥不用加()?这个怎样实现调用的呢
没有懂既然P1和P2都要被销毁,为啥子还要加一个del P2这个语句呢 这个语句不想相当于重复了吗
‘name' in a是检测 键 有没有在字典里面。
有没有方法检测 值 在字典里面?
前面说到布尔值True的本质就是1,那么转换为字符串后为什么显示的不是1呢?
布尔值True转换为字符串后,还可以变得回来吗?
老师,函数也是对象那一行代码是什么意思?为什么可以那样定义?
上面部分的ctrl+Z和回车输入以后为什么没有变成C:。。。。。这个东西?
海龟绘图_坐标系问题_画笔各种方法-进行
老师您好:
当使用del 删除对象时,会调用他本身的析构函数,另外当对象在某个作用域中调用完毕,在跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间。
老师可以举个例子吗,来解释一下这段话
为啥我第二个print不可达啊 不是这个没有包含在循环里面的哇,这样return 是管不了我的这个print的哇,这是咋个回事呢
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637