0

我正在使用 python 定义一个类,然后将它的一个实例附加到一个列表中。

class town:
    def __init__(name_, x_, y_, mayor_):
        name = name_
        main_x = x_
        main_y = y_
        mayor = mayor_
        desc = desc_

def add_town(name_, x_, y_, mayor_):
    towns.append(town(name_, x_, y_, mayor_))
    town_number += 1

def onCommand():
    add_town(args[1], loc_x, loc_y, sender.getName())

onCommand()

不幸的是,执行 add_town 时出现此错误:

原因:回溯(最近一次调用最后一次):文件“”,第 95 行,onCommandTown 文件“”,第 74 行,add_town 类型错误:init () 正好需要 4 个参数(给定 5 个)

注意:这是我用来保持简单的代码的简短版本。请放心,所有变量都已正确定义。

编辑:此外,城镇是一个列表。

有谁知道为什么会出现这个错误?纠结了半个小时,什么都没发生……

4

1 回答 1

3

改变你__init__

def __init__(name_, x_, y_, mayor_):

def __init__(self, name_, x_, y_, mayor_):

此外,您可能必须将初始化参数设为类变量。

def __init__(self, name_, x_, y_, mayor_):

    self.name = name_
    self.main_x = x_
    self.main_y = y_
    self.mayor = mayor_
    self.desc = desc_

self.name并在类方法中以 , 等方式访问它。

在此处阅读更多信息

于 2013-10-14T19:42:44.640 回答