我从这段代码中得到的只是,python 中的 print 是write
方法的包装函数,stdout
所以如果我给它一个返回类型,它也必须返回它,对吗?那我为什么不能这样做?
import sys
class CustomPrint():
def __init__(self):
self.old_stdout=sys.stdout
def write(self, text):
text = text.rstrip()
if len(text) == 0: return
self.old_stdout.write('custom Print--->' + text + '\n')
return text
sys.stdout=CustomPrint()
print "ab" //works
a=print "ab" //error! but why?