【发布时间】:2022-01-25 18:46:08
【问题描述】:
有没有什么方法可以在不具体调用实例名称的情况下从类内部访问类的实例及其中的变量?
class test:
def __init__(self, x):
self.x = x
@staticmethod
def isTen():
if(x.x == 10 or y.x == 10):
return True
else:
return False
x = test(1)
y = test(10)
我想在类中创建一个静态函数,该函数检查是否有一个实例的 x 变量的值为 10。有没有办法做到这一点,而无需将实例的名称硬编码到函数中,以便它可扩展以处理更多实例变量和值?
【问题讨论】:
-
你能澄清一下你的最终目标是什么吗?有很多方法可以做到这一点,有些更好,有些更糟
-
also:
staticmethods根据定义不直接访问类/实例属性。也许你的意思是classmethod? -
类无法访问它创建的所有实例。如果你想这样做,你必须编写代码来跟踪这些实例