PyScriptでオブジェクト指向プログラミングを学習する: Python Object Oriented Programming【4】
この記事ではPythonでオブジェクト指向プログラミングを学習する方法を解説しています。
オブジェクト指向プログラミングは、次の13のシリーズから構成されています。
第4回目では、Pythonの関数「get_fullname()」から戻り値として「dict」型のデータを返す方法を学習します。
この記事ではMicrosoftのVisual Studio Codeを使用していますが、Jupyter NotebookなどのツールでもOKです。
ここで解説しているPythonのコードは「
GO LIVE DEMO」から直接編集しながら会話形式で学習することができます。
説明文の左側に図の画像が表示されていますが縮小されています。
画像を拡大するにはマウスを画像上に移動してクリックします。
画像が拡大表示されます。拡大された画像を閉じるには右上の[X]をクリックします。
画像の任意の場所をクリックして閉じることもできます。
Pythonの関数「get_fullname()」から戻り値として「dict」型のデータを返す
-
関数「get_fullname()」からdict型の戻り値を返す
Visual Studio Code(VSC)を起動したら新規ファイルを作成して行1-12を入力(コピペ)します。
行2-5では関数「get_fullname()」を定義しています。
この関数ではPythonのinputステートメントでコンソールから氏名を入力させています。
コンソールから入力した「名前」「姓名」はdict型のデータとして返されます。
行7では関数「get_fullname()」を呼び出して戻り値を変数に格納しています。
行8では戻り値が格納されている変数のデータ型を表示しています。
行9では戻り値を表示しています。
行12では戻り値の氏名(名前+姓名)を表示しています。
# Python Object-Oriented Programming [4].py
def get_fullname() -> dict:
first = input('First name: ')
last = input('Last name: ')
return {'first': first, 'last': last} # return dict
fullname = get_fullname() # dict can be changed
print(type(fullname))
print(fullname)
# if fullname['first'] == 'Akio':
# fullname['last'] = 'Kasai'
print(f"Full Name: {fullname['first']} {fullname['last']}")
図1は実行結果です。
ここでは「First name」に「Akio」、「Last name」に「Kasai」を入力しています。
氏名(Full Name)として「Akio Kasai」が表示されています。
ここでは戻り値のデータ型(dict)と内容も表示しています。
-
Live DEMO
【Live DEMO】からPythonのコードを実行するには緑色の[▶]をクリックします。
PyScriptの場合、input()ステートメントを実行するとポップアップが表示されるのでテキストボックスに入力します。
なお「input('Enter first name: ')」のように記述してもメッセージは表示されないのでここでは省力しています。
[▶]をクリックすると「First name」のポップアップが表示されるので「名前」を入力して[OK}をクリックします。
すると「Last name」のポップアップが表示されるので「姓名」を入力して[OK]をクリックします。
Pythonのコードは編集してから実行することもできます。
図2-1は緑色の[▶]をクリックしてPythonのコードを実行した画面です。
ここではinput()ステートメントに対して「Akio」と「Kasai」を入力して[OK]をクリックしています。
「Full Name」として「Akio Kasai」が表示されています。
図2-2はでは「Live DEMO」の行10-11(図2-2)のコメントを外してPythonのコードを実行しています。
input()ステートメントに対して「Akio」と「Tanaka」を入力して[OK]をクリックしています。
行10-11(図2-2)では変数「fullname['last']」の値を「Tanaka ▶ Kasai」に書き換えています。
行12(図2-2)のprint()ステートメントでは「Full Name」として「Akio Kasai」が表示されています。
このようにdict型のデータは変更することができます。