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