尝试调用Python中的类

2024-10-03 13:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

class Spillebrett:
    def _init_ (self, rader, kolonner):
        self._rader=rader
        self._kolonner=kolonner

我在一个文件中写了这个,在另一个文件中写了以下内容

从spillebrett导入spillebrett

def main():
    nyttspillebrett=Spillebrett()
    nyttspillebrett(input("Fyll inn antall rader\n"), input("Fyll inn antall kolonner\n"))

但是我得到一个错误:TypeError: 'Spillebrett' object is not callable

为什么对象不可调用?你知道吗


Tags: 文件selfinputinitmaindefclassinn
2条回答

__init__不是_init_。你知道吗

我假设你发布的是你的真实代码。你知道吗

说一个对象是可调用的意味着你可以这样调用它:

my_obect()

使用这样的括号是调用。因此函数是可调用的,例如max(1,2,3),类对象是可调用的:my_instance = MyClass()等等。您已经定义了一个类,类本身是可调用的,实际上,您已经在这里这样做了:

nyttspillebrett=Spillebrett()

但是,您试图调用类的实例,但是您的实例不可调用。相反,你可能想要:

nyttspillebrett = Spillebrett(input("Fyll inn antall rader\n"), input("Fyll inn antall kolonner\n"))

但是,请注意,这仍然不起作用,因为您需要将_init_更改为__init__,注意,它是两个下划线:__而不是_

注意,用户定义类中的对象可以通过实现__call__方法来调用,但这可能不是您在这里想要做的。你知道吗

相关问题 更多 >