鱼C论坛

 找回密码
 立即注册
查看: 1716|回复: 2

[已解决]关于创建和使用类的问题

[复制链接]
发表于 2017-12-17 23:03:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. class Dog():
  2.     """一次模拟小狗的简单尝试"""
  3.     def _init_(self,name,age):
  4.         """初始化属性name和age"""
  5.         self.name = name
  6.         self.age =age

  7.     def sit(self):
  8.         """模拟小狗被命令时蹲下"""
  9.         print(self.name.title() + " is now sitting")

  10.     def roll_over(self):
  11.         """模拟小猴被命令时打滚"""
  12.         print(self.name.title() + " rolled over")
  13. my_dog = Dog('willie',6)   

  14. print("My dog's name is "+ my_dog.name.title() + ".")
  15. print("My dog is " + str(my_dog.age) + " years old.")
复制代码


上面这行代码运行的时候老是提示以下内容
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/Python_work/dog.py", line 15, in <module>
    my_dog = Dog('willie',6)
TypeError: object() takes no parameters
请问是什么原因
最佳答案
2017-12-17 23:23:58
魔法函数__init__左右两边都是两条下划线
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-17 23:23:58 | 显示全部楼层    本楼为最佳答案   
魔法函数__init__左右两边都是两条下划线
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-17 23:25:07 | 显示全部楼层
是__init__(self,name,age) 不是_init_(self,name,age) 你的init前后只有一个_,正确的应该是两个_
class Dog():
    """一次模拟小狗的简单尝试"""
    def __init__(self,name,age):
        """初始化属性name和age"""
        self.name = name
        self.age =age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title() + " is now sitting")

    def roll_over(self):
        """模拟小猴被命令时打滚"""
        print(self.name.title() + " rolled over")
my_dog = Dog('willie',6)   

print("My dog's name is "+ my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + " years old.")
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-4 21:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表