【发布时间】:2021-11-09 01:44:29
【问题描述】:
我正在尝试创建一个对象,并首先使用 2 个字段(名称和编号)对其进行初始化。但是每次我运行程序时都会出现这个错误:
TypeError: __init__() missing 1 required positional argument: 'number'
类中的__init__ 方法如下所示:
def __init__(self, name, number):
self.__name__ = name
self.__number__ = number
我尝试创建对象的代码是这样的:
employee1 = ProductionWorker(Employee)
name = input("Enter employee name:")
number = input("Enter employee number:")
employee1.__init__(name, number)
有人知道我为什么会收到这个错误吗?
【问题讨论】:
-
__init__方法需要两个参数:名称和编号。你在employee1 = ProductionWorker(Employee)中只提供了一个参数 -
我认为我需要在创建对象employee1 后为其添加信息。如果是问题,我将如何解决?
-
你不应该明确地调用
__init__。__init__在您实例化对象时由解释器自动调用(例如ProductionWorker(name, number)。) -
你这里有一些非常基本的误解,你应该重新阅读你的 Python OOP 教程。
-
什么是
ProductionWorker?请用这个缺失的细节更新您的问题。