こんにちは。
今回は python の関数について学習していきます。
特に標準関数やinput(), int(), float(), complex() が何の事かよく分からない方、Pythonの関数の基本的な知識を1から学びたい方に向けた記事となります。
四則演算、数値列、文字列についてまとめた記事については、以下を参照ください。
-

【Python】数値と文字列について【初心者向け】
続きを見る
さらに、変数・論理値・演算子については以下の記事もご参照ください。
-

【Python】変数・論理値・演算子について【初心者向け】
続きを見る
今回は関数について、さらに深掘りしつつ学習していきたいと思います。
本記事の学習目標
input()関数を理解するint()関数を理解する- float()関数を理解する
- complex()関数を理解する
- Pythonを利用して自己紹介する
- 自己紹介の仕様は以下になります
仕様
- 画面上に「名前を入力して下さい:」と表示し、変数 name に格納する。
- 画面上に「現在の年齢を入力してください:」と表示し、変数 age に格納する。
- 画面に「私の名前は●です。来年で▲歳になります。」と表示する。
以上を今回の学習の到達目標とします。では早速みていきましょう。
Pythonの関数を学ぶために有用な動画集|日本語版

伊沢剛さん|関数の引き出しと呼び出し
まずは無料動画で「Pythonの関数」の使い方について学びましょう。
まずは伊沢剛さんの「関数の呼び出しと引き出し」についての動画です。
この動画は関数のさわりの部分を分かりやすく解説している動画ですので、大まかに理解する為に有益です。
キカガク「関数|中学生でもわかるPython入門シリーズ」
次にいまにゅさんの「関数|中学生でもわかるPython入門シリーズ」を紹介します。
初心者目線で解説してくれているので非常に分かりやすいですね。
標準関数

動画を視聴したところで、大体のイメージは掴めたかと思います。
それでは関数についてまとめて解説していきます。Pythonでは、print() を代表とする様々な関数があります。
その関数を扱う際に使用するデータのことを引数(ひきすう)と言います。
また、Pythonで関数を処理して出てきた結果を 戻り値(返り値) といいます。
よく、引数、戻り値、返り値という言葉は Python を使用するにあたり頻出してくるので覚えておいてください。
データを入力する関数: input()
データを出力する際には print() を使用していましたが、入力する際には input() を使用します。
整数や少数点付きの実数を入力したとしても、intや浮動小数点数floatではなく文字列strなので注意が必要です。
繰り返しになりますが、注意すべきことは、以下にも実例を挙げていきますが、input()で得られる値は必ず文字列 str となります。
文字列を代入する場合
まずは print() で文字列を代入してみましょう。
>>> user_name = input('enter your name')
enter your name:Tommy
>>> print(user_name)
:Tommyこの場合には当然ですが、 Tommy は文字列となります。
実際に型を調べるために、type() を使用してみましょう。
>>> user_name = input('enter your name')
enter your name:Tommy
>>> print(user_name)
:Tommy
>>> type('Tommy')
<class 'str'>すると、Tommy の型を調べるとやはり str となります。
数字列を代入する場合
次に print() で数字列を代入してみましょう。
>>> your_money = input('enter your money')
enter your money:100
>>> print(your_money)
:100
>>> type('your_money')
<class 'str'>ここで注意です。your_money は 100 と表現されますが、この' 100 ' の型は先程も説明した通り int ではなく str となります。
input() で入力した関数を int() や float() に変換する
整数intや浮動小数点数floatに変換したい場合はint(), float()を使います。
なお、入力関数 input() を使用する場合には、 input() 自体をint() で囲みましょう。
こうすることで、以下で使用する変数 x には整数値が入ります。その他にも、float や complex を実際に使用して試してみましょう。
>>> money = input('Enter your money:')
Enter your money:1000
>>> print(money)
1000
>>> print(type(money))
<class 'str'>
>>> x = int(money)
>>> print(x)
1000
>>> print(type(x))
<class 'int'>
>>> y = float(money)
>>> print(y)
1000.0
>>> print(type(y))
<class 'float'>
>>> z = complex(money)
>>> print(z)
(1000+0j)
>>> print(type(z))
<class 'complex'>まとめ:自己紹介文をPythonで作成する。

今まで学習した関数を利用して、ご自身の簡単な自己紹介文を作成してみましょう。
「ご自身の名前と、来年度の年齢をPythonで表現する」とどの様になるでしょうか。
実際の流れとしては以下の様な仕様で作成してみて下さい。
仕様
- 画面上に「名前を入力して下さい:」と表示し、変数 name に格納する。
- 画面上に「現在の年齢を入力してください:」と表示し、変数 age に格納する。
- 画面に「私の名前は●です。来年で▲歳になります。」と表示する。
ある程度自身で考えて、解答ができれば以下で答え合わせをして下さい。
例えば、Tommy の年齢が 30才と仮定して来年の年齢を自己紹介する文を作成してみます。
>>> name = input("名前を入力してください:")
名前を入力してください:Tommy
>>> age = int(input("現在の年齢を入力してください:"))
現在の年齢を入力してください:30
>>> age += 1
>>> print("私の名前は", name, "です。来年で", age, "歳になります。")
私の名前は Tommy です。来年で 31 歳になります。皆さんも是非ご自身で自己紹介文を作成してみてください。
この調子で頑張りましょう。
