【发布时间】:2021-08-22 07:41:59
【问题描述】:
我在比特币的 python 实现中看到了这个语法。
https://github.com/samrushing/caesure/blob/master/caesure/bitcoin.py
我以前从未见过这种语法,有人可以向我解释一下,或者在文档中的某个地方我可以理解吗?
def dump (self, fout=sys.stdout):
D = fout.write
D ('hash: %s\n' % (hexify (dhash (self.render())),))
D ('inputs: %d\n' % (len(self.inputs)))
for i in range (len (self.inputs)):
(outpoint, index), script, sequence = self.inputs[i]
try:
redeem = pprint_script (parse_script (script))
except ScriptError:
redeem = script.encode ('hex')
D ('%3d %064x:%d %r %d\n' % (i, outpoint, index, redeem, sequence))
D ('outputs: %d\n' % (len(self.outputs),))
for i in range (len (self.outputs)):
value, pk_script = self.outputs[i]
pk_script = pprint_script (parse_script (pk_script))
D ('%3d %s %r\n' % (i, bcrepr (value), pk_script))
D ('lock_time: %s\n' % (self.lock_time,))
我说的是D ('hash: %s\n' % (hexify (dhash (self.render())),))
有很多行,其中有一个变量后跟一个括号。我不明白它的作用。
【问题讨论】:
-
你能澄清一下你觉得奇怪的地方吗?这是一个函数调用,就像代码块中的
hexify、dhash、self.render、len、range和许多其他函数一样。