函数第5章学习出现
class Animal:def _init_(self,name, age):
self.name=name
self.age=age
def say(self):
print(f"我叫{self.name},今年{self.name}岁。")
class pig(Animal):
def special(self):
print("我的技能是拱大白菜")
p=pig("大肠",5)
p.say()
p.special()
SyntaxError: unindent does not match any outer indentation level SyntaxError: unident does not match any outer indentation level
这个错误主要由三个问题导致:
[*]构造函数名称错误:正确写法是双下划线 __init__
[*]中文标点问题:实例化时用了中文逗号 ”,
[*]字符串参数错误:say() 方法中重复使用了 self.name
修正后的代码:
class Animal:
def __init__(self, name, age):# 注意这里是双下划线
self.name = name
self.age = age
def say(self):
print(f"我叫{self.name}, 今年{self.age}岁。")# 第二个参数改为age
class Pig(Animal):# 建议类名首字母大写
def special(self):
print("我的技能是拱大白菜")
p = Pig("大肠", 5)# 使用英文逗号
p.say()
p.special()
输出结果:
我叫大肠, 今年5岁。
我的技能是拱大白菜
注意:Python对缩进非常敏感,建议使用4个空格进行缩进(不要混合使用空格和Tab键)
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 xiaoniugogogo 于 2025-4-17 16:30 编辑
def __init__(self,name, age):
这里用双下划线就行了
页:
[1]