在阅读相关书籍时,偶尔注意到的,效果图如下:
觉得挺好玩的就把代码发出来,分享一下。
事先说明,代码是《Python CookBook (第二版)》第2.13节中的内容,
作者是 Eirk Max Francis
使用方法如下:
1.新建一个叫 lshift.py 的文件 ,写入以下代码:
class IOManipulator(object):
def __init__(self,function=None) -> None:
self.function = function
def do(self,output):
self.function(output)
def do_endl(stream):
stream.output.write('\n')
stream.output.flush()
endl = IOManipulator(do_endl)
class OStream(object):
def __init__(self,output=None) -> None:
if output is None:
import sys
output =sys.stdout
self.output =output
self.format= '%s'
def __lshift__(self,thing):
if isinstance(thing,IOManipulator):
thing.do(self)
else:
self.output.write(self.format % thing)
self.format = '%s'
return self
cout =OStream()
2. 在你的自己新建的py文件中,引入from lshift import endl,cout 这样一句话,这样就可以正常使用了