Python中如何将列表元素作为参数传递创建类实例
问题解决:用列表元素创建类实例的错误修复
你的代码存在两个关键问题,导致了TypeError,以下是修复方案:
1. 修正__init__方法的语法错误
你在定义构造方法时错误地使用了=,正确的方法定义应该用冒号结尾,格式如下:
class Token: def __init__(self, id, name, last_name): # 去掉多余的=,添加冒号 self.id = id self.name = name self.last_name = last_name
2. 使用列表解包传递参数
直接传递args列表时,Python会把整个列表当作一个参数传给Token的构造方法,但__init__需要3个独立的位置参数。此时需要用解包操作符*,把列表中的元素拆分成单独的参数依次传入:
instance1 = Token(*args)
完整修正后的代码
args = ["1", "John", "Doe"] class Token: def __init__(self, id, name, last_name): self.id = id self.name = name self.last_name = last_name instance1 = Token(*args)
额外提示(可选)
如果id字段需要是整数类型,可以在解包前转换:
args[0] = int(args[0]) instance1 = Token(*args)
内容的提问来源于stack exchange,提问作者Angry_Llama
相关产品推荐
相关产品推荐

