根据最佳实践标准,将实例方法中的self本地绑定到另一个变量是否可接受?它派上用场,特别是在测试方法时。我还想知道,如果实例属性在循环中检索,这种方法是否更有效。下面是一个例子实例方法中的“self”与另一个变量的本地绑定是否可以接受?
class C:
def __init__(self):
self.a = "some attribute"
def some_function(self):
c = self
for _ in range(10):
print(c.a)
我不认为这有害或任何东西,但你为什么要这样做?为什么不在你的循环内部执行'print(self.a)'?你能详细谈谈“它派上用场”吗? – Kevin
为什么测试时这会派上用场?这并不是说你可以接触到这个函数来测试当地人的约束力,所以'self'和'c'在这里并没有什么不同。无论如何,你可以将第一个参数命名为任何你想要的名称,而不必命名为'self'。 –
有些人在阅读代码时看到'c.a'可能会错过'c'只是对实例的引用。 '显式比隐式更好。' –