python - почему моя программа говорит мне, что она не вызывается - PullRequest
0 голосов
/ 04 октября 2018

Я создал класс в Python, и когда я попытался вызвать его в другой файл Python (после импорта), он распознает его не как класс, а как объект, а затем говорит, что мой класс не может быть вызван

вот мой класс:

class Cell:
    def __init__(self,value=9,isVissible=False):
        self.value=value
        self.isVisible=isVissible
    def setValue(self,value):
        self.value=value
    def setVisible(self):
        self.visible=True

и вот где я пытался его назвать:

import Cell,random
class Board:
    def __init__(self):
        self.board = []
        for i in range(12):
            a = []
            for j in range(12):
                x = Cell()   <=== right here it's an error
.
.
.(the rest of my program)

и, наконец, вот ошибка:

x=Cell()
TypeError: 'module' object is not callable

Может кто-нибудь помочь мне исправить это, даже мой учитель не понял мою ошибку

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Ваше утверждение импорта неверно, вы импортируете модуль с именем Cell вместо класса Cell.Вы должны использовать строчные буквы для своих имен файлов и импортировать их так:

from cell import Cell


test = Cell()
0 голосов
/ 04 октября 2018

Cell использовался как для вашего импортируемого модуля, так и для вашего класса.В соответствии с ошибкой, python сопоставил его с именем модуля.Поэтому, когда вы пишете Cell(), он пытается использовать имя модуля в качестве функции, вместо вызова конструктора класса.

Если класс Cell находится внутри модуля Cell, используйте Cell.Cell() или измените ваш импорт на from Cell import Cell.В противном случае переименуйте либо модуль, либо класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...