[英]Basic question on Object Oriented programming in Python
我很難掌握類的方法中的變量,並且正在尋求對這些工作方式的解釋,以幫助我更好地理解它。
例如:
在時間類里面
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()
“自我”的變量變化在哪里發生? 為什么不將方法調用(看起來更直接)為:method(var1(subject), var2, var3, var4)? 而不是 subject.method(var2, var3, var4)? (我知道我對此的理解是不穩定的,如果我的任何條款不正確,我很高興收到更正)。
魔法。 確切地說,特定於 Python 的魔法; 其他語言可能(並且經常這樣做)選擇以不同的方式來做。
有可能。 在 Python 中,當obj
是Class
的實例時, Class.method(obj)
與obj.method()
相同。 __init__()
是一個特例。
你從哪里得到這個奇怪的代碼? 它沒有任何意義。
您應該查看“ 如何像計算機科學家一樣思考”,其中的代碼示例與您發布的內容類似,但它是正確的,並且解釋了變量范圍。 查看上述 URL 的第 15.6 節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.