2011-12-31 8 views
1

だけで簡単な質問の最後にカンマ:次の文でカンマを何 はありません:それはそうPython;古いフォーマッタの引数リスト

print "Average = %s" % (avg,) 

私は、関連するドキュメントを見つけることができません。

+0

引数が1つのみのタプル型の引数は必要ありません。単純に '%avg'を使うことができます – joaquin

+0

@joaquin:悲しいことに、' avg'が決してタプルではない場合に限ります。それが(そしてその長さが1ではなく、標準でなければならない)場合は、型エラーが発生します。 – delnan

答えて

5

引数リストをタプルにします。末尾のカンマがなければ、カッコ内の単一の値はカッコ内のその値に過ぎません。

+0

値を印刷する前に何か特別な理由がありますか? – Zotov

+0

将来、タプルを適切な場所に置いておくと、より多くの書式設定引数を追加したい場合は、既に便利です。古いスタイルの書式設定の詳細については、http://goo.gl/5CROCをご覧ください。 –

1

は、これは、1つのアイテムのタプルを作成します。

>>> x = ('hello') 
>>> type(x) 
<type 'str'> 
>>> x = ('hello',) 
>>> type(x) 
<type 'tuple'> 
2

コンマはタプルにそれを作ります。

あなたがいずれかを行うことができます:

print "Average = %s" % (avg,) 

やタプルなしを:

print "Average = %s" % avg 

しかし、タプルは、例えば、拡張することは容易であることを意味し、

print "Average = %s \n Total = %s" % (avg, total) 

このたぶんこの人がタプルを使用し、1つの引数しか提供しなかった理由です。最後の例では、別の末尾のカンマ((avg, total,))を追加するか、または省略してもかまいません。いずれも動作します。

関連する問題