我有一个输出很多文本块的类,这取决于我希望它证明文本右/左/中心的初始参数。我想知道是否可以使用方法对象(http://docs.python.org/py3k/tutorial/classes.html#method-objects)而不是像这样的函数
class textOutput(object):
def __init__(self):
self.justification = "left"
def justify(self,text):
if self.justification == "right":
return text.rjust(self._width)
elif self.justification == "center":
return text.center(self._width)
else:
return text.ljust(self._width)
def output(self):
for i in range(1 to 1000000):
print self.justify(i)
我想使用这样的函数对象(替换上面的 justify 方法)
class textOutput(object):
def __init__(self):
self.justify = string.ljust
def output(self):
for i in range(1 to 1000000):
print self.justify(i,self._width)
def setJustification(self, justification):
if justification == "right":
self.justify = string.rjust
elif justification == "center":
self.justify = string.center
else:
self.justify = string.ljust
但是我不知道我得到了字符串数据类型成员的函数对象。
我怎样才能实现后者?(前者有太多不必要的不利于性能的检查)
ps:我必须使用基本上是python 2.5的jython
pps:然后将使用以下类方法完成对正切换: