Найти - Пользователи
Полная версия: Проблема с кодом
Начало » Python для новичков » Проблема с кодом
1
0956900408
Я питаюсь понять ООП 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

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

а вы __getitem__ не пробовали?
AD0DE412
.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB