这个问题在这里已有答案:
我正在阅读“使用Python解决使用算法和数据结构的问题”一书
在“队列”一章中,有一个使用Printer类的打印机模拟。
这是Printer类的定义:
class Printer():
def __init__(self, ppm):
self.pagerate = ppm
self.currentTask = None
self.timeRemaining = 0
我的问题是实例变量如何不存在于参数中但仍然定义(例如currentTask和timeRemaining)?
这是Python的一种做法,还有其他更好的方法吗?
来自文档https://docs.python.org/3/tutorial/classes.html#class-objects
实例化操作(“调用”类对象)创建一个空对象。许多类喜欢创建具有针对特定初始状态定制的实例的对象。因此,类可以定义一个名为
__init__()
的特殊方法,如下所示:def __init__(self): self.data = []
您不需要为所有参数传递值。通过编写self.variable_name
,我们自动创建实例变量。它们不需要使用传递的值启动。您可以使用None
值启动它们。