我是 Python 和一般 OOP 的新手。我有一个错误"...instance has no attribute '__getitem__'"
,我知道我创建的对象不是列表。我怎样才能成为一个列表对象。这是类文件:
#!/usr/bin/python -tt
import math, sys, matrix, os
class Point:
'Class for points'
pointCount = 0
def __init__(self, x, y, z):
'initialise the Point from three coordinates'
self.x = x
self.y = y
self.z = z
Point.pointCount += 1
def __str__(self):
'print the Point'
return 'Point (%f, %f, %f)' %(self.x, self.y, self.z)
def copyPoint(self, distance):
'create another Point at distance from the self Point'
return Point(self.x + distance[0], self.y + distance[1], self.z + distance[2])
def __del__(self):
'delete the Point'
Point.pointCount -= 1
#print Point.pointCount
return '%s deleted' %self
我需要将它作为一个在(x,y,z)内部具有三个坐标的点,并且这些坐标必须是“可调用的”,就像在带有 [] 的列表实例中一样。
我读过类似的主题,但不太了解。请用简单的语言和例子来描述它。