我很难掌握一个类的方法中的变量,我想知道是否有人可以解释这些“工作”如何帮助我更好地理解它。
例如:
时间类 中的
“自我”变量的变化在哪里?为什么调用方法(看起来更直接)为:method(var1(subject),var2,var3,var4)?而不是subject.method(var2,var3,var4)? (我知道我对此的理解充其量是不稳定的,所以如果我的任何条款也不正确,请纠正我。) 另一个例子也非常有帮助。谢谢。def __init__(self, hour,minute, second)
self.hour = hour
self.minute = minute
self.second = second
def print_time(self):
print '%.2d:%.2d:%.2d' % (self.hour, self.minute, self.second)
time = Time(h,m,s)
time.print_time()
答案 0 :(得分:4)
万。特定于Python的魔法,确切地说;其他语言可能(并经常)选择以不同方式进行。
可以。在Python中,当Class.method(obj)
是obj.method()
的实例时,obj
与Class
相同。 __init__()
是一个特例。
答案 1 :(得分:0)
你从哪里得到这个奇怪的代码?这没有意义。
您应该查看“How To Think Like a Computer Scientist”,其代码示例与您发布的内容类似,但它是正确的,并且它解释了变量范围。请查看上述网址的第15.6节。