鱼C论坛

 找回密码
 立即注册
查看: 1638|回复: 4

[已解决]python问题

[复制链接]
发表于 2023-10-20 20:14:43 | 显示全部楼层 |阅读模式

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

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

x
class C:
    def _init_ (self, x, y):
        self.x = x
        self.y = y
    def add(self):
        return self.x + self.y
学习类的过程中,编译后,输入c=C(2,3)怎么就错误了
c=C(2,3)
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    c=C(2,3)
TypeError: C() takes no arguments

最佳答案
2023-10-20 20:15:00
问题出在类的构造方法上。在Python中,构造方法应该使用双下划线来定义,即 __init__ 而不是 _init_ 。修改代码如下:
class C:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def add(self):
        return self.x + self.y

c = C(2, 3)

这样就可以正确地创建 C 类的实例了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-20 20:15:00 | 显示全部楼层    本楼为最佳答案   
问题出在类的构造方法上。在Python中,构造方法应该使用双下划线来定义,即 __init__ 而不是 _init_ 。修改代码如下:
class C:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def add(self):
        return self.x + self.y

c = C(2, 3)

这样就可以正确地创建 C 类的实例了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-20 20:15:19 | 显示全部楼层
你的问题是在Python类的初始化方法中的一个常见错误。在Python中,类的初始化方法应该是__init__,而不是_init_。你的代码应该如下所示:
class C:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def add(self):
        return self.x + self.y

然后,你可以通过以下方式创建一个新的C类的实例:
c = C(2, 3)

现在,c是C类的一个实例,你可以调用add方法来添加xy
print(c.add())  # 输出:5

这个错误是因为你在定义类的初始化方法时使用了_init_,而Python期望的是__init__。这是一个常见的错误,很容易修复。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-20 20:15:28 | 显示全部楼层
你的代码中出现了一个拼写错误。类的初始化方法应该是 __init__,而不是 _init_

修改后的代码如下所示:
class C:    def __init__(self, x, y):        self.x = x        self.y = y    def add(self):        return self.x + self.y
你可以通过调用 C(2, 3) 来创建一个 C 类的对象。这样就可以将参数 2 和 3 分别传递给 __init__ 方法中的 xy 参数。

请注意,Python 中的初始化方法名称应该是双下划线开头和结尾,即 __init__。这个方法会在创建类的实例时自动调用,并且可以在其中进行一些初始化操作。

修改后的代码示例中,你可以通过以下方式来创建类的实例并进行计算:
c = C(2, 3)print(c.add())  # 输出结果为 5
上述代码将输出结果为 5,因为 add 方法对 xy 进行了相加运算。


球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-20 20:19:07 | 显示全部楼层
多谢大家指点,我明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 10:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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