デバッグなどで最も使用されるであろうprint文についてまとめてみました。
print文は、バージョン3以降では、関数として扱われ機能も大きく変更されています。
まずは2.7をベースに動作を確認してみたいと思います。
変数の値を出力する
>>> var = 'Hello World!'
>>> print(var)
Hello World!
変数の値が数値であっても、何らかの条件を指定することなく出力可能です。
>>> var = 100
>>> print(var)
100
文字列と変数を組み合わせて出力する
format()メソッドを利用する
>>> greet = 'Hello'
>>> print('{0} World!' .format(greet))
Hello World!
表示したい変数が複数ある時は、{0}, {1}, {2}….と{}を増やしていきます。
>>> greet1 = 'Hello'
>>> greet2 = 'Nice to see you'
>>> print('{0}, {1}!' .format(greet1, greet2))
Hello, Nice to see you!
こんなことも可能。
>>> greet1 = 'Hello'
>>> greet2 = 'Nice to see you'
>>> print('{1}, {0}!' .format(greet1, greet2))
Nice to see you, Hello!
文字列と変数を連結する
>>> greet1 = 'Hello'
>>> greet2 = 'Nice to see you'
>>> print(greet1 + ', ' + greet2 + '!' )
Hello, Nice to see you!!
ただし、連結できるのは文字列のみなので変数に数値が設定されている場合には以下のようにエラーとなる。
>>> sentence = 'My score is '
>>> score = 50
>>> print(sentence + score)
TypeError: can only concatenate str (not "int") to str
なので、数値を連結するには以下のように文字列に変換することが必要。
>>> sentence = 'My score is '
>>> score = 50
>>> print(sentence + str(score))
My score is 50
%記法
C言語の%表記も可能です。
>>> sentence = 'My score is'
>>> score = 50
>>> print('%s %d' % (sentence, score) )
My score is 50
16進数で表示したければ、
>>> sentence = 'My score is'
>>> score = 50
>>> print('%s 0x%x' % (sentence, score) )
My score is 0x32
オフィシャルのチュートリアルを見ているとまだまだ便利な使い方があるようですが、長くなるので一旦ここまで。