我不是一个完整的初学者,但对Python相当陌生。今天在做一个项目的时候,我有一个想法,想知道“ self ”的用法;关于我过去一段时间一直在阅读的内容,但我仍然无法弄清楚它是否总是必要的。我的问题仅涉及类的实例和实例参数/变量。这个问题与影响所有实例的类变量无关。
示例:
class C:
def __init__(self, parent = None):
super(C, self).__init__(parent)
self.some_temp_var = AnotherClass()
self.important_property = self.some_temp_var.bring_the_jewels()
ins_c = C()
print ins_c.important_property
在上面的代码中,我在两个变量声明(some_temp_var和important_property )之前都使用了self。
稍后我需要从外部(创建实例的地方)访问 **important_property**,甚至可能对其进行修改。
但我不需要访问 AnotherClass() 的实例和/或指向它的变量(some_temp_var)。我只需要一次 it 类的实例,并且只需要执行一次它的方法 bring_the_jewels 来填充important_property的值。
在声明该变量之前我还应该使用 self 吗?
self.some_temp_var = ....
self.important_property = ....
或者可以是:
some_temp_var = ....
self.important_property = ....
感谢您的帮助。
附言。我做了很长的研究。由于缺乏我的英语和/或 CS 知识,我可能没有找到当前存在的重复项,但是我进行了搜索,并且进行了很多搜索。在将此问题称为“重复”或“不具建设性”之前,请通读。这是一个有明确答案的问题,非常重要,也很复杂。感谢您的理解。