
按照书上打的代码,不知道为什么总报错(请问一下,有没有uu指点一下)
关注让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供。
如果还有疑问可以点击头像关注私信或评论。如果答案让您满意,请采纳、点赞、关注,非常感谢!
在类定义中,构造函数 __init__ 被错误写成了 _init_(单下划线),导致Python无法识别构造函数。当创建实例时,解释器认为Car()不接受参数,从而抛出TypeError。
class Car():
def __init__(self, make, model, year): # 关键修复:双下划线 __init__
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
long_name = str(self.year) + " " + self.make + " " + self.model
return long_name.title()
my_new_car = Car("audi", "a4", 2016) # 实例化成功
print(my_new_car.get_descriptive_name()) # 输出:2016 Audi A4
graph TD
A[报错 TypeError: Car() takes no arguments] --> B{检查构造函数}
B --> C[查看 __init__ 拼写]
C --> D{是否为双下划线?}
D -->|否| E[修正为 __init__]
D -->|是| F[检查参数传递]
E --> G[问题解决]
F --> G
__init__(两边各两个下划线)“ 和 ”,需替换为英文 "执行修正后代码将输出:
2016 Audi A4
建议:使用IDE(如PyCharm/VSCode)编写代码,可自动检测此类语法错误。