在Python中使用队列的真实世界模拟打印机[复制]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

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

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

这是Printer类的定义:

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

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

这是Python的一种做法,还有其他更好的方法吗?

python python-3.x instance-variables
2个回答
0
投票

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

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

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

还有Instance variables vs. class variables in Python


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.