あまやどり開発雑記

システムエンジニア裏薄荷が”あまやどり”という夢をつづったブログです。

MENU

※新米ママとして育児系のブログ 裏薄荷の初ママ日記も運営しております。

【連載】Pythonのライブラリや仮想環境ってなぁに? 第1回 まずはファンクション(関数)のイメージをつかもう!

 

こんにちは。初めましての人もそうでない人も、裏薄荷(うらはっか)です。

※以下、以前BloggerでUpしていた記事を移行した内容になります。

 

Pythonのプログラミング……の前に。

 

"ライブラリってなぁに?"
"仮想環境ってなぁに?"

 

と言葉の意味がわからず、

 

"プログラミングって難しい、わかんない!!”

 

とつまずいてしまった方のために、全3回に分けて説明をしていきます。

 

初心者が大まかなイメージをつかめることを目的にしているので、厳密には違う部分が出てくるかもしれませんが、そこはご容赦ください。

 

第1回は、"ライブラリ"や"仮想環境"の前に、"ファンクション"という言葉のイメージを掴みましょう。

 

 

第1回 まずはファンクション(関数)のイメージをつかもう!

 

"ライブラリ"や"仮想環境"という言葉を説明する前に。
準備体操として"ファンクション(関数)"という言葉について、イメージをつかんでおきましょう。

 

さて突然ですが、これからプログラミングをしよう、というあなたは、一流のシェフです。

一流シェフのピクトグラム

 

これからあなたは、オリジナル料理のレシピを作成しようとしています。
どんな材料を使うか、どんな料理を作るかはあなたの自由です。

料理をする流れは、以下のようになるでしょう。

 

材料 --> レシピに従って調理--> オリジナル料理の出来上がり 

レシピのイメージ、海老やミルクなどの材料を元にレシピで調理した結果、ピザやアイスクリームなどのお料理ができあがります。

 
ずばり、この料理の流れが、ファンクション(関数)のイメージです。

例えで言うと、レシピがファンクション(関数)に該当します。


では、ファンクション(関数)の例を見てみましょう。 

 
python
    def original_juice(fruit, base_milk):
    cup = "glass"
    juice = fruit + base_milk + cup
    return juice

 

 

これだけ見てもよくわからないかもしれませんね。
1行ずつ説明していきます。

 

1行目、"def"は”original_juice(オリジナルジュース)”という名前のファンクション(関数)です、という宣言です。

 

()の中の"fruit(果物)"と"base(ベースの液体)"は引数と言います。
先ほどの料理の流れで言うと、材料にあたる部分ですね。

 

料理の材料、小麦やエビ、ミルクなど

 

それに対して4行目、"return"で返却されている"juice(ジュース)"は戻り値になります。
先ほどの料理の流れで言うと、出来上がったオリジナル料理ですね。

 

完成した料理のイメージ、ピザやアイスクリーム、ごはんなど

 

……ということは、間の2行目と3行目、ここがレシピに該当します。
どんな調理を行うかの手順になります。

 

レシピが書かれた紙の画像です

 

2行目、必ず"cup(コップ)"は"glass(ガラスコップ)"にしましょう。
3行目、"juice(ジュース)"は"fruit(果物)"と"base(ベースの液体)"と"cup(コップ)"を合わせるだけ。
とっても簡単な手順ですね。

引数として渡された果物とベースとなる液体をあわせて容器に入れたらジュースのできあがり!

 

この例ではfruitとbaseとcupを足すだけですが、もっと複雑な処理を入れても構いません。
juiceを2倍にしてもいいですし、fruitがjuiceに適しているかチェックしてもいいですね。

 

こうした処理をまとめたものがファンクション(関数)です。
今回の例では引数と戻り値がありましたが、引数と戻り値がない場合もあります。

 

つまりファンクション(関数)とは、PCに決まった処理をさせるまとまり、お料理で言うとレシピのようなイメージです。

 

なんとなく、イメージはつかめましたでしょうか?

 

次回は本題、「ライブラリってなぁに?」というお話です。
引き続きお読みいただければ幸いです。

 

----------------------------------------------------------------
素材取得元:

 ----------------------------------------------------------------