You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python类构造函数错误求助:TypeError: Veicolo() takes no arguments问题排查与修复

解决TypeError: Veicolo() takes no arguments的问题

嘿,我一眼就看出问题啦——你的构造函数命名错了!Python里的构造函数必须是**init**(前后各两个下划线),而你写成了_init_(前后各一个下划线),这就导致Python没法识别这个方法是用来初始化实例的,所以当你尝试给Veicolo()传参数时,它就会报错说这个类不接受参数。

在Python中,所有的特殊方法(比如构造函数、字符串表示方法等)都是以双下划线开头和结尾的,这是语言的规范要求。你写的_init_只是一个普通的类方法,不是构造函数,所以创建实例时Python会使用默认的无参构造函数,自然就不接受你传入的那几个参数了。

修复后的代码如下:

class Veicolo:
    def __init__(self, marca, modello, colore, prezzo):  # 修正为前后双下划线的__init__
        self.marca = marca
        self.modello = modello
        self.colore = colore
        self.prezzo = prezzo
    
    def scheda(self):
        x = "In sede ho una {} modello {} di colore {}".format(self.marca, self.modello, self.colore)
        return x
    
    def prezzi(self):
        x = "Il veicolo di {} modello {} costa {}".format(self.marca, self.modello, self.prezzo)
        return x

v1 = Veicolo("fiat", "punto", "rosso", "500")
print(v1.scheda())

小提示:以后写Python类的特殊方法时,记得检查下划线的数量,比如__str__、__repr__这些都是双下划线开头结尾,别再写错啦😉

内容的提问来源于stack exchange,提问作者Federico Troisi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 17:42:39