pythonの勉強し始めですと関数と聞いてもピンとこないのではないでしょうか?
しかしこの関数という機能を知っているのと知っていないのとでは、プログラムの記載時間や美しさが大幅に異なります。
関数の使用方法を知らないというのは大変もったいないことなのです。
この記事では
「関数とは何なのか?」
「関数の何がすごいのか?」
「関数はどうやって使うのか?」
といった疑問をお持ちの方に向けて分かりやすく解説していきます。
関数とは?
そもそも関数とは何なのかということですが、ある特定の処理をひとまとまりにしたモノの事です。
そして関数の使用理由として、プログラム中で何度も同様の処理をするとなった場合、その都度記載するというのは面倒だからです。
例えばパソコンやスマホにはコピー機能というものがあります。
何度も同じ文章を書くのが面倒という場合にこの機能を使用します。
このコピー機能が関数と考えてみてください。
コピー機能がないと、同じ文章を何度も入力する必要が生じますが、コピー機能があることで時間短縮になっています。
関数がとても便利なものであるということが、何となくお分かりいただけたのではないでしょうか?
関数の作成方法
では関数の具体的な記載方法について解説していきます。
まず大まかな記載方法として下記のようになります。
def 関数(引数):
処理
return 戻り値
関数はdefを使用することで宣言でき、関数を呼び出すときは「関数(引数)」というように記載するだけで呼び出せます。
そして上記で記載している引数とは関数に値を渡すために用意された機能です。
例えば生年月日から年齢を求めてくれる関数があったとします。
そうすると関数には年齢を渡す必要があるので、このような時に引数を活用します。
そしてもう一つ戻り値というものが存在し、これは関数内の処理が完了したら関数呼び出しもとに関数内で求めた値などを渡すのに使用します。
先ほどの例で言うと、生年月日を入力後に年齢が返ってきますが、これが戻り値となります。
戻り値は「return 戻り値」と記載します。
では実際に私が作成した関数をお見せします。
【コード】
import datetime
from dateutil.relativedelta import relativedelta
def age(year,month,day):
birth=datetime.date(year,month,day)
now_day=datetime.date.today()
age=relativedelta(now_day,birth)
return age
print("何年生まれですか?")
year=input()
print("何月生まれですか?")
month=input()
print("何日生まれですか?")
day=input()
my_age=age(int(year),int(month),int(day))
print("あなたの年齢は"+str(my_age.years)+"歳です")
【実行結果】
何年生まれですか?
1999
何月生まれですか?
9
何日生まれですか?
9
あなたの年齢は23歳です
いくつか見慣れない関数やオブジェクトが存在していますが、簡単に解説すると下記のようになります。
- import datetime:日付や時刻を扱うために使用するモジュール
- from dateutil.relativedelta import relativedelta:時刻を進めたり、戻したりするのに使用するモジュール
- datetime.date:生年月日をdate型に変換している
- datetime.date.today():本日の日付を取得している
一人の年齢を求めるだけだと簡単ですが、何名もの年齢を求める必要がある場合は上記のように関数を使用することで効率的にプログラムを書くことができます。
組み込み関数とは?
ここまで関数の作成方法について解説してきましたが、関数にはすでに用意されている組み込み関数というものが存在します。
どういったものが存在しているかというと皆さんもよく使用されるprint関数も組み込み関数の一つですし、下記記事でご紹介したrange関数も組み込み関数となっています。
【python】range関数とは? | エンジニアKISARAGIの備忘録 (kisaragi-it.com)
そしてこれらの関数はインポートしなくても使用可能という特徴があり、大変便利なものとなっています。
具体的にどういったものがあるかというと、最大値(max関数)、最小値(min関数)、文字列の長さ(len関数)、オブジェクトの型(type関数)、コマンドラインからの入力(input関数)などたくさんの関数が存在します。
他にも便利な関数はいくつもありますので、一度詳しく調べてみるのもいいかもしれません。
まとめ
この記事ではpythonの関数について解説してきました。
- 関数とは?
- 関数の作成方法
- 組み込み関数とは?
関数を使用することで効率的に美しいプログラムを書くことができるようになります。
またすでに用意されている関数もありますので、そちらも有効活用していくことでコーディング効率が上がるはずです。
以上で今回の解説は終了となります。
コメント