Jon*_*rit -1 python variables attributes class
我的朋友说copy.copy()函数的作用是将变量的值和类复制到另一个变量.我说这堂课是价值的一部分,但他不相信.代码:
harry = Animal('hippogriff')
Run Code Online (Sandbox Code Playgroud)
他说'hippogriff'是物体的价值,而不是动物('hippogriff').这是真的?
copy.copy()将创建对象的浅表副本; 它将创建一个新的类型实例并复制所有属性.
在这种情况下,将Animal()创建一个新实例,并且无论什么属性保存对该字符串的引用都将hippogriff复制到新副本.如果有任何可变属性harry(字典,列表,其他自定义类实例),则新副本将共享对这些属性的引用,harry并且在两个实例上都可以看到任何更改.
该Animal()实例是实际的"价值"在这里; 但它是一个复合对象,它的属性本身就是值.
对于Python'原始'类型,例如intor str,它们是不可变的,对象本身就是你朋友所指的'价值'; str保存字符串值的对象没有属性.毕竟,它不是复合值.但是你不应该在这里过多关注"价值"这个概念.
称之为对象.在Python中,一切都是对象,对象具有类型,许多可以具有引用其他对象的属性.甚至方法也是这方面的对象; 该'hippogriff'字符串具有.upper和.lower属性,既引用,你可以调用的方法,这些方法都是对象了.在Python中,它一直是乌龟!
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |