print文で情報を出力する
これからPythonを使い、いろいろな計算をしていきますが、その結果を表示するためにprint文を使います。print文をうまく使うことにより、複雑な計算結果もわかりやすく表示することができます。
print文による出力
文字列、数字、式の計算結果の出力
Pythonでは次の通りprint文を使い文字、数字、式の計算結果を出力することができます。
- #1 print文で文字列、数字、式の計算結果を出力
- print('Hellow Python')
- print(100)
- print(100*2)
Hellow Python 100 200
何文字かの文字が連なったものを、コンピュータの世界では文字列といいます。文字列を出力するときには、前後に’ ’(quotation)を付けます。
‘ ’のかわりに’エクセルのように” ”( double quotation)を使うことができます。ここでは、多くの書籍にならい、原則として’ ‘(quotation)で統一します。また、基本的な数式での演算には次のようなものがあります。
演算の種類 | 演算子: operator | 例 |
---|---|---|
足し算 | + | 1+2 → 3 |
引き算 | - | 10-3 → 7 |
掛け算 | * | 10*55- |
割り算 | / | 10/2 →5 |
記号のことを、コンピュータの用語で演算子(operator)といいます。掛け算、割り算は通常の数学とは異なりますが、excelや多くのプログラミング言語では表にある記号を使います。
変数を使って計算結果を出力する
複雑な数式をprint文の()の中に計算式を入れ込むと、プログラムを書く手間がかかり、みづらくなるので、あらかじめ計算結果を変数に代入してから出力するのが一般的です。変数は、数学で勉強した方程式のx,yに近いものです。ここでは、priceという変数を定義し、そこに計算した結果を代入してからprint文で出力しています。
- #変数を使って出力
- price=(100+10)*2
- print(price)
220
変数には、数字だけではなく、文字列を代入することもできます。
- #3 文字列を変数に代入して出力
- print('金額は1000円です。')
- text='金額は1000円です。'
- print(text)
金額は1000円です。 金額は1000円です。
文字列と変数を組み合わせて出力する
変数の表示方法
Pythonでは文字列と変数を結合させ、書式を見やすい形にしてから出力することができます。このとき変数を{ }(波括弧:curly braces)の中に記述し、’ ’(quotation)の前に”f”という文字を付ける必要があります。
- #4 文字列を変数として出力
- price=1000
- print(f'金額は{price}円です。')
- print('金額は{price}円です。')
金額は1000円です。 金額は{price}円です。
4行目のように”f”を付けないと、波括弧とその中の変数が文字列として表示されてしまいます。ちなみに”f”はformat(書式)の略になります。
書式設定の方法
3桁区切りの表示
変数に代入されている数字の桁数が大きくなるときには、3桁ごとにカンマを付けると見やすくなります。このときには、波括弧の中を次のように‘,’というように書式を指定します。
- #5 数字の出力の書式(format)をカンマ区切りにする
- price=1000
- print(f'金額は{price:,}円です。')
金額は1,000円です。
計算結果を整数表示にする
今度は消費税10%を考慮するため、税抜価格を1.1倍するプログラムを作成します。
- #6 計算結果を出力する
- price=1000
- print(f'本体価格は{exclude:,}円、税込み価格は{exclude*1.1:,}円です')
- include=1000*1.1
- print(f'本体価格は{exclude:,}円、税込み価格は{include:,}円です')
本体価格は1,000円、税込み価格は1,100.0円です 本体価格は1,000円、税込み価格は1,100.0円です
税込み金額の計算で税抜価格の1.1倍しているので、税込み価格は小数として解釈され1,100.0円という変な表示になってしまいます。そこで、波括弧の中の書式設定で小数点以下の桁数を追加します。“.0f”で小数点以下0桁を表示することを示します。
小数でも整数表示にする
- #7 小数点以下の出力をする
- price=1000
- tax=1000*0.1
- include=price+tax
- print(f'税抜き価格は{price:,.0f}円、税金は{tax:,.0f}円、税込み価格は{include:,.0f}円です')
本体価格は1,000円、税金は100円、税込み価格は1,100円です
このように、変数をどのように表示するかを合わせて設定することができます。また、print文が煩雑になる場合には、あらかじめ変数に書式付きの文字列を代入し、print文で出力することも可能です。
- #8 あらかじめ変数に書式付きの文字列を代入してから出力
- price=1000
- text=f'税抜き価格は{price:,.0f}円、税金は{tax:,.0f}円、税込み価格は{include:,.0f}円です'
- print(text)
本体価格は1,000円、税金は100円、税込み価格は1,100円です
小数点以下の桁数を設定する
10÷6にように割り切れない割り算をするとき、”.1f”,”.2f”とすると小数点第1位、第2位のように表示桁数を指定することができ、一番下の桁数は四捨五入されます。
- #9 小数点以下の桁数の設定
- num=10/6
- print(f'整数表示:{num:.0f} 小数点第1位:{num:.1f} 小数点第2位:{num:.2f}')
整数表示:2 小数点第1位:1.7 小数点第2位:1.67
改行の設定をする
上記の表示は横並びで見づらくなるので、\nという特殊な文字を使い、改行の設定をすることができます。
- #10 表示で改行の設定をする
- num=10/6
- print(f'整 数 表 示:{num:.0f} \n小数点第1位:{num:.1f}\n小数点第2位:{num:.2f}')
整 数 表 示:2 小数点第1位:1.7 小数点第2位:1.67
fの表示をするとこのようなきめ細かな設定が可能になります。