在何时需要使用self.variable_name等符号的方法?例如,我知道在构造函数方法中它需要像
class A(object):
def __init__(self, name):
self.name = name
为了给它一个实例变量。但是,在其他方法呢?我什么时候需要将self放在变量名前面?什么时候可以使用变量名呢?
答案 0 :(得分:1)
您必须始终将self
作为实例方法的第一个参数。这是您用来访问实例变量的内容。
它与其他语言中的this
类似,但不同之处在于它是必需的,而其他语言通常会在范围内包含实例变量。
答案 1 :(得分:0)
每当您想要访问A类特定对象的属性时。例如:
def get_name(self): # here, whenever this method is called, it expects 'self'.
return self.name
在类范围之外调用此方法时,python隐式传递 self 。
example = A('d_rez')
example.get_name() # no arguments are passed, but self is passed implicitly to
# have access to all its attributes!
所以回答你的问题:每当你在一个类中定义一个方法时,你需要传递self,这通常是因为涉及一些属性。否则,它可能只是在类外定义的静态函数,如果它不属于类A的特定实例。