当我在 Python 中传递位置参数时,类方法无法识别位置参数 [关闭]

问题描述 投票:0回答:0

我有一个类,Party,它用一个列表初始化对象,self.party = []。类 Party 有一个方法 add_to_party 除了 self to_be_added 之外它还接受一个位置参数。这个位置参数可以是任何类型。所以该方法读取 def add_to_party(self, to_be_added)。当我尝试使用我创建的 Party 对象在 main 中调用该方法,并将单一位置参数传递给它时,它似乎认为它不存在。所以这就是我所拥有的:

class Party:                                #class Party is in a separate file called testClasses

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

    def add_to_party(self, to_be_added):
        self.party.append(to_be_added)

import testClasses                           


def main():
    current_party = testClasses.Party
    player_char = testClasses.Char()        #player_char is a valid object of class Char, also 
    player_char.make_player_char()            a class in the file, testClasses
    current_party.add_to_party(player_char) #Here is where it doesn't recognize me passing

当我尝试运行它时,出现错误:TypeError: add_to_party() missing 1 required positional argument: 'to_be_added'

我希望它能很好地将 player_char 传递给 add_to_party 方法,但它没有识别出它在那里。我是初学者,也是堆栈溢出的新手,对于任何丑陋或不正确的格式,我们深表歉意。

python class methods error-handling arguments
© www.soinside.com 2019 - 2024. All rights reserved.