コードゴルフをしているときに、奇妙な問題に遭遇しました
>>> print '%'+'-+'[1]+str(5)+'s'%'*'
Traceback (most recent call last):
File "<pyshell#178>", line 1, in <module>
print '%'+'-+'[1]+str(5)+'s'%'*'
TypeError: not all arguments converted during string formatting
私の仮定では、演算子の評価は左から右に行われますが、この特定のケースでは、その文字列操作%
が優先+
され、連結の前に評価しようとして's'%'*'
失敗するようです
これは既知の文書化された動作ですか、それとも私には明らかではない何かがあります。