gpt4 book ai didi

python - 不同的实例是否共享类中声明的相同方法?

转载 作者:太空狗 更新时间:2023-10-30 01:31:31 24 4
gpt4 key购买 nike

<分区>

我想知道 Python 3(不是 2,请 :P)如何解决以下情况:

我有一个类和两个实例:

class MyClass:
def something():
pass

a = MyClass()
b = MyClass()

a.somethingb.something 共享相同的内存地址,还是每个都有一个 something 声明?调用 a.something 的解析如何工作?

当我尝试查看方法 id 时,它们具有相同的:

id(a.something), id(b.something) # (4487791304, 4487791304)

但是当我用is比较是否相同时,结果是`False:

id(a.something) is id(b.something) # 

如果我进一步打印ab 的可用方法和数据属性,我可以看到它们都有东西声明:

['__class__',
'__delattr__',
'__dict__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__gt__',
'__hash__',
'__init__',
'__init_subclass__',
'__le__',
'__lt__',
'__module__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__',
'something']

谢谢。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com