あまやどり開発雑記

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

MENU

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

PyCharmとPipenvを使ったPython開発環境の構築手順

f:id:tnim-amayadori:20210527164744j:plain

 

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

 

※以下、Bloggerに2020年11月頃にUpしていた記事を移行した内容になります。 そのためバージョン情報等古い場合がありますので、あらかじめご了承ください。

 

さて、今日はPycharmとPipenvを用いたPythonの開発環境構築について、手順をご説明していこうと思います。

 

目次

 

 

1. 構築を行う環境
-なぜPyCharmとPipenvを使うのか?-


構築を行う環境について、どんな環境なのかと、なぜその環境を使うかについての説明です。(といっても理由づけは主観的なもので偏ってるので、あくまでご参考までに。)

 

先に前提として、OSはWindowsです。

 

OS : Microsoft Windows 10 Home
        (Ver. 10.0.17134 Build 17134)

 

これは単純に、私自身の愛用PCがWindowsだからです。LinuxMacも使ったことはありますが、現状自宅に環境がない状態です。

(この前ちょうど仕事でつくったのもあり、近い内にWSL環境つくってLinux触れるようにはしたいなぁ、と思ってます。)

 

 

さて、今回Python開発環境を構築するにあたって、セットアップを行うのは以下3つです。 

 

言語                   : Python 
                           (Ver. 3.8.1)
Python仮想環境  : Pipenv
統合開発環境       : PyCharm Community版
(兼エディター)      (Ver. 2019.3.3 Build 193.6494.30)

 

 

"Pythonの仮想環境ってなんぞや?"

という人がいましたら、前回のこちらの記事をお読みください。

tnim-amayadori.hatenablog.com

 

 

さて、仮想環境で有名なのは、pipやAnacondaです。
Pipenvはあまりメジャーではありません。


……が、こいつは便利なのです。
何が便利って、ソースコードを他の人と共有したい、って思った時に役立ちます。


ライブラリを使う場合、pipならpipコマンド、Anacondaならcondaコマンドを使って、必要なライブラリを入れます。Pipenvの場合はpipenvコマンドですね。

 

ソースコードを共有した場合、必要なライブラリも共有しないと動きません。

コードを共有された時に、コマンド使って必要なライブラリは入れてね、と言われたら、大変ではないでしょうか?

10個のライブラリを入れたら、10回pipなりcondaコマンドなりでinstallを実行する必要があります。

どんなライブラリを入れたか、忘れてしまうことだってありますよね。


で、これがPipenvの場合。


pipenvというコマンドを使ってライブラリをインストールすると、入れたライブラリを自動でPipfileとPipfile.lockという2つのテキストファイルに書き出してくれます。

 

そしてソースコードを共有された際にこれらのファイルがあれば、たった1回pipenvコマンドを実行するだけで、必要な全てのライブラリをインストールすることができます。

 

つまり、10個入れたライブラリのために10回コマンドを実行する必要はありません。
ライブラリの数が10個だろうと100個だろうと、1回コマンドを実行すれば、PipfileとPipfile.lockを元に、必要なライブラリを入れてくれるのです。


これがPipenvを使う目的です。

こちらのブログでは、今後Git-Hubを利用した学習用のソースコードの共有も考えているので、Pipenvの環境を前提としています。

 

 

PyCharmは言わずもがな、Python開発で一番有名な統合開発環境だと思います。

他の統合開発環境ですとEclipse、エディターだけで言えば無数にあります。

 

Eclipseは私自身はJava開発で使っていましたが……重いですよね。

PyCharmはEclipseよりは動作が軽いです。

 

PyCharm……というより、統合開発環境を使う理由というのは、文法ミスなどの検出やデバッガを利用することにより、効率的な開発を行うことです。

 

まあ……あらためて私が説明するほどの話ではありませんが一応初心者向けの記事ということで。

 

 

前置きが長くなってしまいましたが、それでは実際に環境を構築してみましょう。

 

2. 構築手順

2-1. Pythonのセットアップ

2-1-1. Pythonをダウンロードする。

まず以下のサイトにアクセスします。

https://www.python.org/downloads/windows/

Python公式サイトの画像キャプチャです。

 

「Latest Python 3 Release -Python 3.X.X (最新のPython3リリース)(※1)」をクリックしましょう。

Python公式サイトの画像キャプチャ、Version3.8.2のダウンロードページです。

 

最新のPythonのダウンロードページに飛びます。
ページの下の方にスクロールして

 

Python公式サイトの画像キャプチャ、Version3.8.2のダウンロードページの下側で、各種インストーラーの一覧が表示されています。

 

Windows x86-64 web-based installer」(※2)をクリックします。
クリックするとダウンロードが開始します。

 

※1. ダウンロードするバージョンはbugfixのstatusで最新のものを推奨します。もし本ブログでの講座のためにダウンロードする場合は、"3.9"系の最新バージョンをダウンロードしてください。(サンプルコード等、3.9系で開発しているため。)

バージョン毎のステータスは以下で確認できます。

https://www.python.org/downloads/

Python公式サイト、各バージョンのステータスが確認できる画面です。


※2. "web-based"とは、必要なファイルをインストール時にインターネット接続して取得する形式のことです。そのためもしインターネットがつながらない環境で構築されたい方は、インターネットがつながる環境で「Windows x86-64 executable installer」をダウンロードしてから、インターネットがつながらない環境にinstallerを転送してください。

 

2-1-2. Pythonをインストールする。

ダウンロードを終えたら、保存した「python-3.8.2-amd64-webinstall.exe」をダブルクリックしましょう。

 

Pythonインストーラーの初期画面です。

 

下部の「Add Python 3.8 to PATH」のチェックボックスを選択します。

先ほどのインストーラーの画面下部のチェックボックスが選択されています。

 

これはシステム環境変数にパスを追加する、ということです。
"python"というコマンドを実行するための設定ですね。

 

下記のOptionではpipを必ず選択してください。
他は任意ですが、一通り入れておくと便利ですね。

PythonインストーラーのOptional Featuresの画面です。

 

Optionはこんな感じです。
環境変数の追加はチェックを入れておきましょう。

Pythonインストーラー、Advanced Optionsの画面です。

 

設定できたらインストール実行です。
「web-based installer」の場合、インターネット接続が前提なので、接続している状態でインストールを実行しましょう。

 

インストールの完了を待ちます。

Pythonインストール中の画面です。

 

これにてインストールは完了です。

 

インストールが完了してSetup was successfulと表示されている画面です。

 

2-1-3. Pythonがインストールされたことを確認する。

 

コマンドプロンプトを管理者権限で起動しましょう。

 

WIndowsのメニューからコマンドプロンプトを選択し、管理者として実行を選択している画面です。

以下のコマンドを実行しましょう。

 

 

Windwsコマンドプロンプト
    # pythonのバージョン確認
python --version

以下のようにバージョンが表示されれば、インストールは問題なく完了しています。

 

実行コマンドの下行に"Python 3.8.2"と表示されている。

 

2-1-4. pipがインストールされていることを確認する。

 

以下のコマンドを実行してください。

Windwsコマンドプロンプト
    # pipコマンドのバージョン確認
pip --version

以下のようにバージョンが表示されていれば問題ありません。

実行コマンドの下行に"pip 19.2.3 from..."と表示されている。

 

2-2. Pipenvのセットアップ

2-2-1. Pipenvをインストールする。

先ほど開いたコマンドプロンプトで、以下のコマンドを実行します。
これもインターネットに接続されている前提なので、接続されている状態で実行してください。

Windwsコマンドプロンプト
    # pipenvのインストール実行
pip install pipenv

実行するとインストール結果が表示されます。

場合によっては、画面末尾のようにWARNINGが表示される場合もありますので、その場合は表示されたメッセージに従ったコマンドを実行しましょう。

コマンドの実行結果、WARNINGが表示されている。WARNING末尾にこのコマンドを使ってpipをupgradeしなさい、という旨の英語が記載されている。


画面の例だとこんな感じでコマンドを実行します。

WARNINGに従って"python -m pip install --upgrade pip"というコマンドを打ち込んだ画面です。

2-2-2. Pipenvのインストール結果を確認する。

以下のコマンドでインストールされたことを確認します。

Windwsコマンドプロンプト
    # pipenvのバージョン確認
pipenv --version

画面のようにバージョンが表示されたら問題ありません。

コマンド実行結果として"pipenv version 2018.11.26"と表示されている。

 

 

2-3. PyCharmのセットアップ

2-3-1. PyCharmをダウンロードする。

以下のサイトからPyCharmをダウンロードします。

https://www.jetbrains.com/ja-jp/pycharm/download/#section=windows

PyCharm公式サイトの画面キャプチャです。

 

無料のコミュニティ版であれば、企業でも無料で利用できます。
特にDB構築やWebアプリケーション開発をしないのであれば、コミュニティ版で十分です。


2-3-2. PyCharmをインストールする。

保存したexeファイルをダブルクリックして実行しましょう。
設定は基本的に変えずにそのままで問題ありません。

PyCharmインストーラーの起動直後の画面です。

PyCharmインストーラーでインストール先のフォルダを指定する画面です。

PyCharmインストーラーでOptionを設定する画面です。PATH変数追加しておくと便利です。

PyCharmインストーラーでプログラム名を設定する画面です。デフォルトのJetBrainsのままで問題ありません。

PyCharmのインストーラーでインストールを実行している画面です。

 

下記画面にて、インストール完了です。
続いて設定を行うので、「Reboot now」を選んで起動しましょう。


※サンプル画面では一時中断したので、後で起動するを選択していますが皆さんは続けて作業を行うのですぐ起動しましょう(^^ ;)

PyCharmインストーラーのインストール完了画面です。

 

2-3-3. PyCharmを設定する。

インストールしたPyCharmを起動します。

 

するとこんな画面が出てくるので、特に取り込みたい設定がなければそのままOKを押下しましょう。


※過去にインストールした設定や、他の人が設定した環境を取り込みたい場合などに、「Config or installation foler」を選択します。

"Import PyCharm Settings from..."と表示されるので"Do not import settings"を選択します。

 

プライバシーポリシーに同意します。

プライバシーポリシーが表示されています。

 

機能向上のためにデータ送信で貢献しておきましょうか。

"Data Sharing"という画面にて情報を送信してよいか聞かれています。

 

 

デザインは好きな方を選択してください。

背景が黒のデザインと白のデザインが選択できます。

 

 

さて、いよいよPyCharmの起動です。
まずはプロジェクト(プログラムを管理する単位)を作成しましょう。

 

PyCharmの起動画面です。"Create New Project"を選択してください。

 

適当なプロジェクト名を「PycharmProjects」に続けて入力しましょう。
入力したら、「Project Interpreter」横の「▼」をクリックして、設定を開きます。

プロジェクト名として"ShareLearning"を指定しています。

 

画面のように、先ほどインストールした「Pipenv」を仮想環境として設定します。

"New environment using"で"Pipenv"を選択します。"Base interpreter"として先ほどインストールしたpythonのexeファイルを選択します。

 

 

作成すると、いよいよコーディングができる状態に。

PyCharmの起動直後の画面です。

 

 

試しに簡単なプログラムを書いてみましょう。
プロジェクト名を右クリックして、pythonファイルを作成します。

例だと"ShareLearing"というプロジェクト名を右クリックして表示された"New"をクリックし、"Python File"を選択しています。

 

ファイル名を入力します。

ファイル名として"hello_world"を入力しています。

 

ファイルが作成されて、エディターが開きます。

"hello_world"というタブが表示され、編集できる状態で開いています。

 

以下の命令文を書いてみましょう。

hello_world.py
    # コンソールに指定した文字列を出力
print("Hello world!")

エディタにprint("Hello world!")と入力されています。

 

実行結果を確認するために、画面下部にある「Terminal」を開きます。

PyCharm下部に表示されているTerminalをクリックするとウィンドウが開きます。

 

起動したら、以下のコマンドを実行しましょう。

PyCharm Terminal ウィンドウ
    # pipenvでプログラムを実行
pipenv run python .\hello_world.py

Terminalのウィンドウにコマンドを入力しています。

 


実行すると、以下のように"Hello wolrd!"と表示されました!

Terminalのウィンドウに実行結果として"Hello world!"が出力されています。

 

これにて、開発環境の構築は完了です。

 

次回は、Pipenvの仮想環境だと具体的にどのへんにどんなフォルダやファイルが生成されるのか、軽く説明しようかな、と思います。

 

引き続き、お読みいただけましたら幸いです。

 

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

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

【連載】Pythonのライブラリや仮想環境ってなぁに? 第3回 仮想環境ってなぁに?

ガラスで廊下と区切られたサーバールーム、廊下にはノートパソコンをいじる女性が立っています

 

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

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

 

さて、今日はPythonのプログラミング……の前に。

 

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

 

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

 

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

 

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

 

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


最終回となる第3回では、Pythonにおける"仮想環境"という言葉の意味を説明していきます。

 

先に説明した"ファンクション"や"ライブラリ"という言葉のイメージを掴んでいることが前提ですので、まだお読みでない方は、先にそちらの記事をお読みください。

 

tnim-amayadori.hatenablog.com

tnim-amayadori.hatenablog.com

 


第3回 仮想環境ってなぁに?

 

先に注意書きです。

 

"仮想環境"という言葉自体は、Python以外でも出てきます。

ここで説明するのは、あくまでPythonにおける仮想環境の意味、になります。

Python以外の文脈で出てきた場合には意味が異なりますので、注意してください。

 

では本題、Pythonにおける"仮想環境"という言葉の意味について。

 

Pythonだと、"Anaconda"だとか"pip"だとか、そんな言葉とセットで"仮想環境"という言葉が出てきます。

 

Pythonでいう仮想環境とは、先ほど説明したライブラリなどを管理するための環境です。

 

……と言われても、よくわかりませんよね。

 

では、そもそもなぜライブラリを管理する必要があるのか、そこから説明していきましょう。

 

第2回で、ライブラリはたくさんのレシピ(=ファンクション)がつまった図書館のイメージだと説明しました。

 

本棚の前に座る人物のピクトグラム、図書館のイメージイラストです。

さてこの図書館、随時新しいレシピ(=ファンクション)を用意したり、既にあるレシピもよりよく改良したりします。

 

あなたが図書館のレシピを利用するには、図書館にあるレシピを丸々、あなたが開発を行うPC等に入れる必要があります。

 

この図書館(=ライブラリ)のレシピを丸々入れることをインストールと言います。

 

当然、あなたがレシピを丸々入れた後にも、元の図書館では、レシピが日々更新されているかもしれません。

 

そのため、いつどの時点のレシピのセット(=ライブラリ)をあなたが入れたのかわかるように、バージョンという番号がライブラリには振られています。

 

2つの本棚、左側の本棚はVersion1.0.0のライブラリ、右側の本棚は本が増えており、Version2.0.0のライブラリとなっている。

 

さて、図書館のバージョンアップが行われる際、単純に新しいレシピ(=ファンクション)が増えるだけならいいのですが、削除されたり、レシピに必要な材料(=引数)や、逆にできあがる料理(=戻り値)が変更されてしまう場合もあります。

 

つまり、あなたの作成したプログラムがバージョン1.0.0のライブラリのレシピ(=ファンクション)を前提としていたのに、バージョン2.0.0のライブラリでは、必要なレシピ(=ファンクション)が消えてしまってプログラムが動かなくなってしまう!なんてことになる可能性があるわけです。

 

上半分の左側にプログラムAと書かれた書類、右のVersion1.0.0のライブラリである本棚の本を参照しています。それに対して下の左側、プログラムAは変わっていないのですが、Version2.0.0の本棚からは参照していた本が消えてしまいました。

 

仮にこの作成済のプログラムをプログラムAとしましょう。

 

さて、あなたはプログラムAとは別に、新しくプログラムBを作りたいとします。

 

新しく作るプログラムBでは、バージョン2.0.0で新しく追加された便利なレシピ(=ファンクション)を使いたい。。。

 

そんな風に思うかもしれませんね?

 

その場合、

 

プログラムAではバージョン1.0.0のライブラリ、

プログラムBではバージョン2.0.0のライブラリ、

 

を使えるようにしたいわけです。

 

上のプログラムAからはVersion1.0.0の本棚に存在している本、下のプログラムBからはVersion2.0.0の本棚に新しく追加された本を参照しています。

 

ここで、"仮想環境"の出番となるわけです。

 

このプログラムAやプログラムBに必要なライブラリをまとめて入れて管理するのが、"仮想環境"です。

 

要はこんな箱のイメージですね。

 

左側はプログラムAのための仮想環境としてライブラリαVersion1.0.0とライブラリβVersion3.1.0の本棚が箱に入っている。右側はプログラムBのための仮想環境として、ライブラリαVersion2.0.0とライブラリγVersion5.0.1が一つの箱に入っている。2つの仮想環境はどちらもあなかの開発環境であるパソコンの中に入っている。

 

よく聞くAnacondaやpipとは、この箱にライブラリを出し入れ(インストール/アンインストール)したり、箱に入っているライブラリのバージョンを管理するためのツールになります。

 

またどのプログラムに対して、どの箱が紐づいているかも管理しています。

 

先ほどの2つの仮想環境の箱に、ネットワークからライブラリを運ぶ人々のイラストが描かれている。ライブラリを運ぶ、つまりインストールしているのがAnacondaやpipなどのイメージとなる。

 

 

なんとなく、"仮想環境"という言葉のイメージはつかめましたでしょうか?

 

 

これにて全3回に渡って説明いたしました「【連載】Pythonのライブラリや仮想環境ってなぁに?」は終了となります。

 

この後Pythonの開発環境構築手順に関する記事を更新する予定です。

その際に、具体的にどのフォルダやファイルが仮想環境にあたるのか、軽く触れたいと思います。

よろしければ、引き続きそちらの記事もお読みいただければ幸いです。

 

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

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

【連載】Pythonのライブラリや仮想環境ってなぁに? 第2回 ライブラリってなぁに?

ライブラリのイメージ、本棚がぎっしりとつまった図書館の写真です。

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

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

 

さて、今日はPythonのプログラミング……の前に。

 

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

 

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

 

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

 

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

 

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

 

第2回は、"ライブラリ"という言葉のイメージについて説明していきます。

 

第1回で説明した"ファンクション"という言葉のイメージが掴めている前提ですので、まだお読みでない方はそちらを先にお読みください。

 

tnim-amayadori.hatenablog.com

 

 

第2回 ライブラリってなぁに?


さてファンクション(関数)のイメージをつかめたところで本題です。


ライブラリ、という言葉の意味について説明していきましょう。

 

Pythonソースコードを少しでも書いたことがある人は、こんな風に"from"や"import"と書かれているのを見たことがありますかね?

 

python
    from pandas import read_csv
import pandas

 

ここに書いてある"pandas"についてGoogle検索をかけてみると、

 

"データ解析を支援する機能を提供するライブラリである"

 

と説明が出てきます。

 

つまり"from"だったり"import"されている"pandas"はライブラリなわけです。

ライブラリ、という言葉はLibrary、直訳すると"図書館"です。

 

さてここで、第1回でお話したファンクション(関数)の話に戻りましょう。
ファンクション(関数)はお料理でいうレシピのようなもの、というお話をしました。

 

それに対してライブラリは、たくさんのレシピがつまった図書館、というイメージです。

 

本棚の前に座る人物のピクトグラム、図書館のイメージイラストです。

先ほどの料理の例で説明すると、例えば材料の基本的な下ごしらえの処理方法、わざわざあなたが新しく考える必要があるでしょうか?

 

……こだわる人は考えるかもしれませんが、調べればいくらでも他の人が考えた適切な下処理の方法がありますよね。webで検索をかけてもいいですし、何か本を買ってもいいかもしれません。

 

ライブラリもそれと同じで、よく使うような処理について、誰でも使いやすいようにまとめてあるので、あなたは0から処理を考える必要がありません。


先ほどの"pandas"の例で見てみましょう。

python
    from pandas import read_csv
import pandas
csv_path = r"C:\folder\sample.csv"
csv_data = read_csv(csv_path)

 

"pandas"はライブラリですが、"read_csv(CSV読み込み処理)"は"pandas"というライブラリ(図書館)が持っているファンクション(関数)です。

 

"read_csv(CSV読み込み処理)"の引数は"csv_path(CSVファイルのパス)"です。
それに対して戻り値"csv_data(CSVのデータ)"は、読み込んだデータです。

 

"read_csv"の中でどんな処理をしているか、あなたは意識する必要がありません。
あなたが意識するのは、引数と戻り値だけ。

 

先ほどの料理の例でいうと、どんな材料を渡してどんな料理ができあがるのか、それだけを意識すればいい、というわけです。

材料とできあがった料理だけを意識する人のシルエット、材料から料理になるまでの間のレシピについては意識していない。

 

例で取り上げた"pandas"は、"read_csv"のようにデータを読み込んだり、読み込んだデータを加工するための便利な機能が提供されています。"pandas"についてはまたあらためて記事を投稿します。

 

なんとなく、"ライブラリ"という言葉のイメージはつかめましたでしょうか?

 

次回は、「仮想環境ってなぁに?」というお話です。
引き続きお読みいただければ幸いです。

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

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

【連載】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に決まった処理をさせるまとまり、お料理で言うとレシピのようなイメージです。

 

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

 

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

 

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

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