我有以下(示例)代码:
class _1DCoord():
def __init__(self, i):
self.i = i
def pixels(self):
return self.i
def tiles(self):
return self.i/TILE_WIDTH
Run Code Online (Sandbox Code Playgroud)
我想要做的是:
>>> xcoord = _1DCoord(42)
>>> print xcoord
42
Run Code Online (Sandbox Code Playgroud)
但相反,我看到了这个:
>>> xcoord = _1DCoord(42)
>>> print xcoord
<_1DCoord instance at 0x1e78b00>
Run Code Online (Sandbox Code Playgroud)
我尝试使用__repr__如下:
def __repr__(self):
return self.i
Run Code Online (Sandbox Code Playgroud)
但是__repr__只能返回一个字符串.有没有办法做我想做的事情,或者我应该放弃并使用像素()?
我相信这就是你要找的东西:
class _1DCoord():
def __init__(self, i):
self.i = i
def __repr__(self):
return '_1DCoord(%i)' % self.i
def __str__(self):
return str(self.i)
>>> xcoord = _1DCoord(42)
>>> xcoord
_1DCoord(42)
>>> print xcoord
42
Run Code Online (Sandbox Code Playgroud)
但
__repr__只能返回一个字符串.
所以就这么做
def __repr__(self):
return str(self.i) # or repr(self.i)
Run Code Online (Sandbox Code Playgroud)
或者,模仿通常的Python格式:
def __repr__(self):
return '_1DCoord(%i)' % self.i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1500 次 |
| 最近记录: |