首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >此构造器不接受参数。

此构造器不接受参数。
EN

Stack Overflow用户
提问于 2016-03-18 01:55:17
回答 3查看 59关注 0票数 0

在Python中,我第一次尝试了类。当我使用这段代码时,我得到了第15行的错误“这个构造不带参数”。有人能告诉我问题出在哪里吗?

代码语言:javascript
运行
复制
class Triangle:
    def _init_(self,h,b):
        self.h = h
        self.b = b
    author = 'No one has claimed this rectangle yet'
    description = 'None'
    def area(self):
        return (self.h * self.b)/2
    def description(self,text):
        self.description = text
    def author(self,text):
        self.author = text

fred = Triangle(4,5)
print fred.area()
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-18 01:59:11

您的错误在init函数中。它应该有两个下划线之前和之后像这样的__init__()

以下是正确的代码:

代码语言:javascript
运行
复制
class Triangle:
    def __init__(self,h,b):
        self.h = h
        self.b = b
    author = 'No one has claimed this rectangle yet'
    description = 'None'
    def area(self):
        return (self.h * self.b)/2
    def description(self,text):
        self.description = text
    def author(self,text):
        self.author = text

fred = Triangle(4,5)
print fred.area()
票数 0
EN

Stack Overflow用户

发布于 2016-03-18 01:58:21

您应该使用双下划线__来表示__init__

代码语言:javascript
运行
复制
def __init__(self, h, b):
票数 2
EN

Stack Overflow用户

发布于 2016-03-18 01:59:42

当构造函数应该定义为_init_时,您已经将其定义为__init__ (注意双下划线)。Python没有看到您的__init__ (因为它的名称不正确),它只是假设一个默认的构造函数(它不带参数)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36074799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档