python学习笔记---对象赋值其实就是引用
来源:互联网 发布:卷积神经网络 算法 编辑:程序博客网 时间:2024/06/06 00:14
class Cat: def __init__(self,name): self.name = name def __str__(self): return "my name is %s" % self.name def __del__(self): print("All delete")tom = Cat("Tom")tom1 = tom # 只是将Cat的对象的引用指向tom1print(tom)del tom#del tom1print("-------------")
以上代码创建了一个Cat类,然后初始化一个tom的对象,然后把tom的对象赋值给tom1,其实就是tom和tom1都指向了一个对象,就像linux中的硬链接一样,只有还有一个硬链接存在,那么这个文件就不会被删除。这里的对象也是一样,只要有一个指向存在,就不会被删除。可以用del方法进行验证,del方法的特性就是如果一个对象没有引用,那么python机制就会立刻执行这个del函数。所以,当删除tom的引用时,这个对象还存在tom1的引用,所以会先执行print(“————-“),然后执行完后,发现没有代码可执行了,那么内存中的对象会被清除,这样python就会自动执行del函数。
myname is Tom-------------All delete
如果#del tom1 不注释,那么结果就是
my name is TomAll delete-------------
阅读全文
0 0
- python学习笔记---对象赋值其实就是引用
- python学习笔记7:对象引用与对象
- 对象其实就是关联数组
- java中的传递参数其实都是值传递(引用就是拷贝对象的一个地址)
- python学习(对象引用)
- Python中对象的理解:引用和赋值
- python赋值和拷贝----一切皆对象,参数皆引用
- python赋值和拷贝----一切皆对象,参数皆引用
- 封装:其实就是保护对象隐私
- 【OC学习-8】存取器方法?getter和setter?其实就是赋值和返回值的两种函数
- JAVA 对象引用&对象赋值
- C++学习笔记21,对象赋值
- 笔记 引用与赋值
- Python学习笔记--变量赋值过程
- Python对象学习笔记
- python对象学习笔记
- Python学习笔记-Python对象
- 学习笔记之测试赋值和赋引用
- Anonymous class puzzler习题
- SSH中Hibernate中报错No Hibernate Session bound to thread解决
- Java中数据类型及其之间的转换(转)
- 算法7 编码和解码TinyURL
- python 列表常用函数操作
- python学习笔记---对象赋值其实就是引用
- git的详细教程地址
- 新星Hcash超级现金矿池傻瓜版HSR挖矿指南-钱包流程,及1060 1070 1080 显卡速度对比
- JAVA提高篇(33)--Java线程常用的操作方法
- 【LeetCode】C# 16、3Sum Closest
- Unity调用系统窗口选择文件或文件路径
- 网页拖拽项目实践
- ubuntu安装最新版node和npm
- 正则表达式基本用法(二)——断言、分组