【发布时间】:2012-03-16 00:48:50
【问题描述】:
三天来,我一直在努力学习__init__ 和“自我”,从Learn Python the Hard Way 练习42 开始,然后继续阅读部分Python 文档Alan Gauld's chapter on Object-Oriented Programming, Stack threads like this one on "self",and this one,坦率地说,我正准备用砖头打自己的脸,直到我昏倒。
话虽如此,我注意到在最初的__init__ 定义中有一个非常常见的约定,即跟进 (self, foo) 然后立即在该定义中声明 self.foo = foo。
来自 LPTHW,ex42:
class Game(object):
def __init__(self, start):
self.quips = ["a list", "of phrases", "here"]
self.start = start
来自艾伦·高德:
def __init__(self,val): self.val = val
我在那个可怕的空间里,我可以看到只有一件大事我没有得到,而且无论我读了多少并试图弄清楚它,它仍然是不透明的。也许如果有人可以向我解释这种一点点的一致性,灯就会亮起来。这是因为我们需要说变量“foo”总是等于 (foo) 参数,它本身包含在“self”参数中,该参数自动分配给它所附加的 def?
【问题讨论】: