如何解决为什么通过类对象更改对象本身不起作用?
/* The ASN is an absolute slot number over 5 bytes. */
struct tsch_asn_t {
uint32_t ls4b; /* least significant 4 bytes */
uint8_t ms1b; /* most significant 1 byte */
};
我以为我可以通过第二个打印功能获得None,但是两次打印都得到了相同的对象地址。为什么不能使用类方法修改对象?
解决方法
在类方法中,self
是成为局部范围一部分的参数。分配给任何本地范围变量只会更改本地范围。如果要分配给self
这样的属性,例如
self.foo = “Bar”
然后,您将修改对象本身。
此外,a
在调用(全局)作用域中引用了该对象,并且该引用将防止该对象的破坏。
换一种说法,self
和a
都引用同一个对象,而分配self=None
仅删除其中一个引用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。