Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2021 12:04:55

0956900408
Зарегистрирован: 2021-09-05
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодом

Я питаюсь понять ООП Python, и остановился на операторах перегрузки методов. Код:
class Point3D:
def __init__(self, x, y, z):
self._x = x
self._y = y
self._z = z

def getMofe(self):
return f“{Point3D.__getGop(self._x)}, {Point3D.__getGop(self._y)}, {Point3D.__getGop(self._z)}.”

@staticmethod
def __getGop(x):
return x

def getitem(self, item):
if item == ‘x’:
return {Point3D.__getGop(self._x)}
elif item == ‘y’:
return self._y
elif item == ‘z’:
return self._z

return ‘Неверный формат данных’

def setitem(self, key, value):
pass

pt = Point3D(4, 8, 2)
print(pt.getMofe())
print(pt)

Вывод:
4, 8, 2.
Traceback (most recent call last):
File “<string>”, line 29, in <module>
TypeError: ‘Point3D’ object is not subscriptable

Первый раз пишу в форум. Простите если что-то не так…

Офлайн

#2 Сен. 5, 2021 16:25:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Проблема с кодом

0956900408
Простите если что-то не так…
Из не так
1. код желательно помещать в теги код см кнопульку < >
2. Из сообщения непонятно чего вы хотите. Пока вы просто повествуете о своей жизни.

а вы __getitem__ не пробовали?



Офлайн

#3 Сен. 5, 2021 22:14:53

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Проблема с кодом

.



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version