関数(Python)


Pythonのプログラムの実行結果は「print()関数」で表示します。

Pythonのプログラムはファイルに書いて実行する場合は、式を書いて実行しただけでは、結果は何も出力されません。
ファイルからプログラムを実行し、結果を出力させたい場合は「print()関数」を使用します。

print()関数でPythonプログラムを実行する

print()関数を実行するためにはテキストエディタでプログラムを書くことが前提となります。

まずは、テキストエディタを開き、「ファイル」のメニューから「新規ファイル」をクリックし、新しいファイルを作成します。

以下のプログラムのように、テキストエディタで「print」のカッコ内に計算式を書き、test.pyと言う名前で保存します。

print(1 + 2)

保存先のフォルダで「test.py」と言うファイルが保存されます。
これを、コマンドプロンプト、もしくはターミナルを起動し、「python test.py」を実行します。

$ python3 test.py 
3
$

print()関数で文字を表示する

Pythonプログラム上で、文字を表示する場合は、シングルクォーテーション「’」、またはダブルクォーテーション「”」で囲みます。
数値と文字は以下のように区別して記述します。

数値

>>> print(1 + 2)
3
>>>

文字列

>>> print('1 + 2')
1 + 2
>>> print("1 + 2")
1 + 2
>>> 

print()関数でメッセージ付きで出力する

Print()関数ではプログラムのジックお結果として数値や文字列を直接出力しますが、その出力結果と一緒に「メッセージ」と合わせて表示することができます。
出力結果に「メッセージ」と値を組み合わせて出力することで出力結果をわかりやすくすることができます。

以下ではメッセージと値を組み合わせてprint()関数で出力する方法を書きます。

【Python】print()関数で出力結果にメーセージを付け加える

print()関数には、文字と変数を一つの文字列として出力する機能があります。
出力のやり方は()内にカンマ(,)区切りで複数の値を入力することにより、一つの文字列としてまとめて出力します。

出力される値は、数値であろうが、文字列であろうが混在して出力しても問題がありません。
ちなみに、出力される値の間には「スペース」が入ります。

print()関数の書き方

print()関数の書き方は以下のように「カンマ(,)」区切りで書くことで出力をすることができます。

>>> print(1, 'test', '100+2')
1 test 100+2
>>> 

また以下では、それぞれ関数を利用し、print()関数でカンマ区切りで並べた変数やもじが連結されて表示されるプログラムの例となります。

>>> test = 100
>>> number = (test + 20) * 3
>>> print(test, 'に20を足して3をかけると', number, 'です。')
100 に20を足して3をかけると 360 です。
>>> 

print()関数でメッセージ付きで出力する
print()関数をメッセージを追加する際は以下のように、「’」で文字列をかこうことで出力結果に表示されます。

>>> test_str = input('数字を入力: ')
>>> test_int = int(test_str)
>>> number = (test_int + 50) * 2
>>> print('合計の答えは', number, 'です。')
合計の答えは 360 です。
>>>

プログラムの注釈(コメント)を入れる方法

ちなみにプログラムを書く上で、他者がプログラムを読む人のために、コメントを入力することができます。
Pythonでは「#」を文頭に書くことによって、そこで書かれた内容は全てコメントとして「プログラムは無視」されます。

プログラムの内容で動作がわかりにくい箇所には注釈としてコメントを記述すると便利です。

※以下ではテキストエディタで作成した内容となります。

#文字を入力
test_str = input('数字を入力: ')

#文字を値に変更する
test_int = int(test_str)

#変数に50を足したあと、2をかける
number = (test_int + 50) * 2

#上記計算の答えを出力
print('合計の答えは', number, 'です。')
合計の答えは 360 です。

【Python】format()メソッドで文字列の生成をする

format()メソッドは文字列の表示に便利です。
これまでは複数の値を一度に表示したい場合は以下のように表示していました。

print(test, 'に20を足して3をかけると', number, 'です。')

print()関数で複数の文字列を表示使用しようとする際、文字列の間に半角スペースが入ります。

そこで、半角スペースなしで文字列を連結する「format()メソッド」を使うと表示がきれいになります。

format()メソッドは文字列で作られた雛形(テンプレート)に、任意の値を差し込んで文字列を生成します。

format()メソッドの使い方

format()メソッドを使う前にはまず、”(シングルクォーテーション)を使った文字列の雛形を作成します。

以下のプログラムでは「text_template」代入された文字列が雛形になります。

この雛形の中にある{}(波カッコ)は任意の値が入ります。
この任意の値は、formatの丸カッコ内にカンマ区切りで指定しておきます。

name = ’太郎'                 ①
age = '25'                     ②
text_template = '名前は{}です。年齢は{}です。'   ③
text = text_template.format(name, age)     ④
print(text)
名前は太郎です。年齢は25です。           ⑤
  1. nameを宣言
  2. ageを宣言
  3. 文字列の雛形を用意
  4. format()で雛形に変数の値を入れて1つの文字列に連結
  5. スペースで区切られることなく表示される

format()メソッドとprint()関数の組み合わせ

format()メソッドを使って文字列を作成し、print()関数で出力するプログラムは、まとめて作成することが可能です。
以下のプログラムでは、雛形のどの部分にどの値が入るかわかりやすくなります。

name = '太郎'
age = '25'
print('名前は{}です。年齢は{}です。'.format(name, age))   ①
名前は太郎です。年齢は25です。
  1. format()メソッドで生成した文字列をprint()関数の引数にして出力

出力メッセージをformat()メソッドで生成する

以下ではプログラムの出力部分をformat()メソッドを使用した形式に書き換えて表示した例です。

テンプレートの文字列を定義し、「month_name」を引数にして文字列を生成してprint()関数で出力します。

test_str = input('数字を入力: ')
数字を入力: 2
test_int = int(test_str)
number = (test_int * 5) // 2
print(number)
5
month_list = ('1月', '2月', '3月', '4月', '5月', '6月')
month_name = month_list[number]
print('表示される月は{}です。'.format(month_name))
表示される月は6月です。

format()メソッドを使用するとプログラムで生成する文字列の意味がわかりやすくなります。



Leave A Comment?

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)