在Python中使用Queue进行打印机的真实单词模拟

时间:2019-03-25 18:28:33

标签: python python-3.x instance-variables

我正在阅读《使用Python解决算法和数据结构问题》一书

在“队列”一章中,有一个带有Printer类的打印机模拟。

这是Printer类的定义:

class Printer():
def __init__(self, ppm):
    self.pagerate = ppm
    self.currentTask = None
    self.timeRemaining = 0

我的问题是实例变量如何在参数中不存在但仍处于定义状态(例如currentTask和timeRemaining)?

这是Python的惯例吗,还有其他更好的方法吗?

2 个答案:

答案 0 :(得分:0)

摘自文档https://docs.python.org/3/tutorial/classes.html#class-objects

  

实例化操作(“调用”类对象)创建一个   空对象。许多类喜欢用实例创建对象   定制为特定的初始状态。因此,一个类可以定义一个   名为__init__()的特殊方法,如下所示:

def __init__(self):
    self.data = []

Instance variables vs. class variables in Python

答案 1 :(得分:0)

您不需要传递所有参数的值。通过编写self.variable_name,我们可以自动创建实例变量。它们不需要使用传递的值来初始化。您可以使用None值来初始化它们。