python-3.x - 为什么实例方法指向同一个地址但不是同一个对象?
问题描述
我有以下定义一个类和两个类对象的最小代码:
class A():
def instance_method(self):
pass
a1 = A()
a2 = A()
a1
并且a2
似乎没有共享相同的实例方法,这对我来说很有意义。
assert a1.instance_method is not a2.instance_method
但是,当我检查这两种方法的 ID 时,它们看起来是相同的。
assert id(a1.instance_method) == id(a2.instance_method)
所以我对实例是否共享实例方法有点困惑。任何人都可以了解内存中发生了什么?谢谢。
解决方案
推荐阅读
- python - 一个索引列到多索引
- html - 定位img和背景
- ansible - 如何从 Ansible 自定义模块中获取数据
- ruby-on-rails - 如何避免belongs_to_required_by_default 被gem 覆盖?
- javascript - 有没有办法从谷歌浏览器扩展读取加载在谷歌浏览器标签中的pdf?
- python - 在 for 循环期间修改 range()
- c++ - 无法在 linux 中运行 mpicc
- c# - 在 C# 中,为什么某些 NuGet 包被命名为 Repacked,例如 Unity.Repacked?
- bootstrap-4 - 使用全宽拆分颜色/图像拆分容器约束内容
- flutter - hooks_riverpod:使用 Riverpod 进行 Flutter Firebase 身份验证,发生错误:提供者试图将“null”分配给不可为空的“exposedvalue”