powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python перегрузка len
4 сообщений из 4, страница 1 из 1
Python перегрузка len
    #39992137
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в классе пытаюсь перегрузить оператор
Код: python
1.
2.
    def __len__(self):
        return (self.n, self.m)



пытаюсь использовать:
Код: python
1.
print(len(matrix))



получаю ошибку:
авторTraceback (most recent call last):
File "C:/Users/areostar/PycharmProjects/linear_mod/main.py", line 16, in <module>
print(len(matrix))
TypeError: 'tuple' object cannot be interpreted as an integer
...
Рейтинг: 0 / 0
Python перегрузка len
    #39992144
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из названия вроде понятно что должно возвращаться, но и в доке про это есть:
https://docs.python.org/3/reference/datamodel.html#object.__len__ ... Should return the length of the object, an integer >= 0. ...
...
Рейтинг: 0 / 0
Python перегрузка len
    #39992171
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,

Но у матрицы два размера! тоесть придётся делать кастомный метод что б вернуть список или картеж?
...
Рейтинг: 0 / 0
Python перегрузка len
    #39992375
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostar,
длина это скаляр по определению, поэтому не нужно ничего изобретать и тем более перегружать.
настоятельно советую воспользоваться библиотекой numpy, библиотека хорошо документирована и в интернете можно найти tutorials на любой вкус.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python перегрузка len
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]