[小白Python学习错题集]TypeError: Dog() takes no arguments

python小白

初学,学到第九章类,明明按照书上代码码入,却碰到如下问题w

class Dog:
    """一次模拟小狗的简单尝试"""

    def __int__(self,name,age):
        """初始化属性name和 age"""
        self.name = name
        self.age = str(age)

    def sit(self):
        """模拟小狗收到命令后坐下"""
        print(f"{self.name} is now sitting.")

    def roll_over(self):
        """模拟小狗收到命令坐下"""
        print(f"{self.name} rolled over!")

my_dog = Dog('Willie',6)

print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")

至于网站多数帖子说的 __init__左右两侧两个下划线的问题,书中有重点提,也注意了

但是确认两下划线问题后还是有问题

最后百思不得其解时发现竟然是int写错了,汗。。。。

修改后

class Dog:
    """一次模拟小狗的简单尝试"""

    def __init__(self,name,age):
        """初始化属性name和 age"""
        self.name = name
        self.age = str(age)

    def sit(self):
        """模拟小狗收到命令后坐下"""
        print(f"{self.name} is now sitting.")

    def roll_over(self):
        """模拟小狗收到命令坐下"""
        print(f"{self.name} rolled over!")

my_dog = Dog('Willie',6)

print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")

 运行后

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值