|
发表于 2023-6-14 22:29:22
|
显示全部楼层
本楼为最佳答案
这是一个非常好的问题。这里的代码是在创建一个Python类,这个类中有一个初始化方法 __init__ 和一个叫做 apple 的方法。下面我逐个回答你的问题:
① self 是一个习惯性的名字,它是一个指向实例本身的引用。在类的方法中,我们使用这个引用来访问或操作类的属性。当你创建一个类的实例,如 thing = Mystuff() ,Python会自动将 thing 作为 self 传递给 __init__ 方法。
② self.tangerine = "And now a thousand years between" 这行代码在做的是:当你创建 Mystuff 的一个实例时,它会自动创建一个叫做 tangerine 的属性,并给它赋值为"And now a thousand years between"。你可以通过 thing.tangerine 来访问这个属性的值。
③ Mystuff() 的括号里是空的,是因为在这个例子中, Mystuff 类的 __init__ 方法没有定义任何其他的参数除了 self 。 self 参数不需要你在实例化时传递,Python会自动处理。如果 __init__ 方法定义了其他参数,那么你在实例化时需要传递对应的值。例如:
- class Mystuff(object):
- def __init__(self, value):
- self.tangerine = value
- thing = Mystuff("A new value")
- print(thing.tangerine) # 输出:A new value
复制代码
在这个修改后的例子中,我们在 __init__ 方法中定义了一个新的参数 value ,在创建 Mystuff 的实例时,需要传递一个值给这个参数。 |
|