Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
 
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 22
1

Некорректная работа модуля

17.03.2014, 18:36. Просмотров 410. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Написал модуль, в котором создается класс. При копировании кода из файла модуля в idle класс работает корректно. Но, при подключении класса из модуля, используя конструкцию import from, один из методов класса не работает: idle выдает ошибку, что этого метода в классе нет. Прилагаю код модуля и idle(Python Shell):
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class tensor():
    def __init__(self,object,ind_char=[]):
        if isinstance(ind_char,list):
            self.ind_char=ind_char
        else:
            raise ValueError, 'ind_char might be a list '
        
        if isinstance(object, arraypy):
            self.array=object
        else:
            raise ValueError, 'object might be an arraypy'
        
        self.dim=object.dims
        if self.ind_char==[]:
            for i in range(object.dims_len):
                self.ind_char=self.ind_char+[-1]
        if len(self.ind_char)!=object.dims_len:
            raise ValueError, 'ind_char and dimension of the arraypy might be the same'
        for i in range(len(self.ind_char)):
            if (self.ind_char[i]!=-1) and (self.ind_char[i]!=1):
                raise ValueError, 'ind_char can take only -1 or 1'
 
    def __getitem__(self,index):
        return self.array.output[index]
 
    def __setitem__(self,index,value):
        self.array.output[index]=value
Python
1
2
3
4
5
6
7
8
A=arraypy((2,2))
T=tensor(A)
T[0,0]
 
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    T[0,0]
AttributeError: tensor instance has no attribute '__getitem__'
Помогите пожалуйста разобраться почему так происходит. Копирование кода не устраивает, надо чтобы класс подключался именно из модуля.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2014, 18:36
Ответы с готовыми решениями:

Некорректная работа функции range
Что-то функция range в третьем Python работает так range(8) &gt;&gt;range(0,8) и т.д. - Что это...

Некорректная работа
Подскажите пожалуйста. Поставил win10, как-то сразу криво пошла установка anaconda. Запуск только...

Некорректная работа requests
Всем привет,я создал бесконечный цикл в котором идёт GET-запрос на сервер после идёт задержка.Так...

py2exe и cx_freeze некорректная работа
Есть GUI приложение с использованием wxPython для Python 2.7 при запуске cx_freeze создается...

2
2712 / 2316 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
17.03.2014, 21:51 2
А что такое arraypy?
0
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 22
18.03.2014, 08:45  [ТС] 3
arraypy это тоже класс. Он представляет собой многомерный массив произвольной размерности на основе словаря, где ключ - это индекс. Написан не мной, но я использую его в качестве таблицы значений для своего тензора. То есть фактически мой класс содержит 2 объекта - таблица индексов и значений(arraypy) и список(list) характеристик индексов. Если нужно, могу привести пример работы этой конструкции.

Добавлено через 1 час 0 минут
Проблема ушла. Пересоздал файл модуля, скопировав в него код из старого. Теперь все работает корректно, но все равно не понятно, чем была вызвана проблема в первый раз
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2014, 08:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Работа с INI: некорректная работа пользовательской функции
Ранее нашел код для работы с ini-файлами: public class INI { ///...

Некорректная работа
Не могу разобраться в чём ошибка,пользователь вводит имя,и ссайт должен его поприветствовать,но...

Некорректная работа
Type TArray = array of integer; function MultiplicationMatrix(Matrix1k, Matrix2k: TArray):...

Некорректная работа
Почему когда ввожу численные значения (1.2.3.4) все столбцы ровные и все корректно отображается ,но...

Некорректная работа
Здравствуйте. Есть триггер который удаляет запись и сохраняет ее в другую таблицу.(из таблицы билет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.