TypeError: Dog() takes no arguments

class Dog:
    """一次模拟小狗的简单尝试"""
    def _init_(self,name,age):#一定要注意init两边各有2个下划线
        """初始化属性name和age"""
        self.name=name
        self.age=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.")

运行结果:

Traceback (most recent call last):
  File "E:\python_work\dog.py", line 16, in <module>
    my_dog=Dog('Willie',6)
TypeError: Dog() takes no arguments

出现上述错误的原因就是  def _init_(self,name,age): 中init只加了一个下划线,务必确保init两边一定要各有2个下划线,这样使用类来创建实例时,Python才回自动运行这个方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值