擅长:python、mysql、java
<p>自从Python2.2以来,就有可能对语言的内置类型进行子类化。这意味着您可以派生自己的<code>file</code>类型,其<code>write()</code>方法返回<code>self</code>,而不是像内置版本那样。这样做还可以将一个<code>close()</code>方法调用链接到一行代码的末尾。</p>
<pre><code>class ChainableFile(file):
def __init__(self, *args, **kwargs):
return file.__init__(self, *args, **kwargs)
def write(self, str):
file.write(self, str)
return self
def OpenFile(filename, *args, **kwargs):
return ChainableFile(filename, *args, **kwargs)
statusfile = 'statusfile.txt'
status = 'OK\n'
OpenFile(statusfile,'w').write(status).close()
</code></pre>