0

我看过很多关于 python 类的教程,但我正在尝试用它们做一些更基本的事情,但不知何故它不能正常工作。

我试图通过将它们放入班级的占位符来制作 3 维点。

但是,当我尝试打印make3Dpoint(x,y)

我得到类似的东西<__main__.point object at 0x02D8FA30>

当我尝试将此输出附加到列表时,我只会得到nonetype

显然我是这方面的初学者,我不想采用任何高级方法来解决这个问题(而且我不允许参加这个课程)。我不想修改类本身。

反正有没有使这个输出可用?

class point():
    __slots__ = ('x','y','depth')

def calculate(x,y):
    z = x * y + 2 * x * y + 4
    return z

def make3Dpoint(x,y):
    z = calculate(x,y)
    point=point()
    point.x = x
    point.y = y
    point.depth = z
    return point
4

2 回答 2

0

listappend方法返回None,但元素被添加到列表中。

>>> a = [1, 2]
>>> print(a.append(3))
None
>>> a
[1, 2, 3]
于 2013-01-27T18:53:18.677 回答
0

像这样构造你的代码:

def calculate(x,y):
    z = x * y + 2 * x * y + 4
    return z

class Point:
    __slots__ = ('x', 'y', 'depth')

    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.depth = calculate(x,y)

points = []
points.append( Point(2,3) )
print points
于 2013-01-27T19:12:25.233 回答