Python错误:对象没有属性

2024-06-23 19:16:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编码还不熟悉——上了Python大学的课程。我知道这对你们很多人来说是显而易见的,但我不明白为什么我会继续得到这个错误属性错误:

prodworker = employee.ProductionWorker(shift_num, pay_rate)
AttributeError: 'Employee' object has no attribute 'ProductionWorker'

非常感谢您的帮助:)

^{pr2}$

Tags: 编码shift属性rate错误employeepaynum
1条回答
网友
1楼 · 发布于 2024-06-23 19:16:58

ProductionWorker类是Employee类的子类,但这并不意味着您可以通过Employee的实例调用它。它仍然是一个顶级类,您应该直接调用它。尝试将employee.ProductionWorker(...)替换为ProductionWorker(...)。在

您将克服当前的错误,但可能会有新的错误。例如,我认为当前从ProductionWorker.__init__调用Employee.__init__的尝试将失败,因为它没有传递正确数量的参数。如果您希望employee.ProductionWorker创建一个与employee对象有某种关联的employee.ProductionWorker实例,则可能存在逻辑问题。在

我也不鼓励您在属性中使用__double_leading_underscore名称。这将调用Python的名称混乱系统,该系统主要是为了帮助防止在大型或不可预测的继承层次结构中,从不同的类中意外地重用相同的名称。如果您只希望您的属性是“private”,请使用一个下划线。这并不能保护它们不被外部代码访问,但它可以作为文档说明它们不是对象的公共API的一部分。Python的设计理念之一是程序员对自己的行为负责(通常用“我们都是同意的成年人”来描述)。如果程序员想访问对象的私有数据,他们可以这样做(这对调试非常有用)。但如果他们弄坏了东西,除了他们自己,没有人可以责怪。在

相关问题 更多 >

    热门问题