1

print "in some_function. x: %s" % xPython プログラム (通常は Python 2.5 または Python 2.6) をデバッグするために使用するたびにx、 がタプルの場合、プログラムがクラッシュします。なんで?コードにプリントを追加するときにこれを回避するにはどうすればよいですか?

4

2 に答える 2

0

その理由は、 の右側の実引数が%タプルであると想定されているためです。左側の文字列には、タプルの要素を埋めるための複数のプレースホルダーを含めることができるためです。引数が 1 つのバージョンは、実際には特殊なケース。したがって、xそこに配置すると、実際にはタプルであり、Python は、プレースホルダーを埋めるためにいくつかの引数を提供していると想定します。いくつかのプレースホルダーがないため、例外です。

これは、引数が単一の要素を含むタプル(x,)になり、それ自体がタプルになるためです。

于 2013-10-10T19:14:30.757 に答える