Mar*_*Omo -1 python tuples python-2.7
我有一个代表我用来替换元组的点的类。使用元组,我可以调用x, y = point如何使用类来模拟此功能?我可以__repr__返回一个元组,但TypeError: __repr__ returned non-string (type tuple)如果我尝试调用 print,它会抛出。元组如何处理此功能?
如果您希望您的类的实例像 多赋值语句右侧的元组一样可用x, y = some_object,您需要使您的类可迭代。这种行为与__repr__你的班级无关。
尝试这样的事情(使用您需要的任何其他方法):
class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __iter__(self):
yield self.x
yield self.y
def __repr__(self):
return "{}({}, {})".format(type(self).__name__, self.x, self.y)
Run Code Online (Sandbox Code Playgroud)
此类的实例是可迭代的,这意味着解包将起作用。它们也可以打印或变成用绳子str或repr。
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |