今回は、Python入門講座2回目です。今回のブログでは、基本文法2回目とライブラリについて説明します。基本文法については、自動処理を行う際よく使用する、「条件分岐」「繰り返し」「関数」について説明します。これで、基本文法はバッチリです。
また、Pythonには様々なライブラリが用意されているので、使い方やインストール方法について説明します。その際、仮想環境を使用するので、構築方法や使用方法についても説明します。
是非、最後までご覧いただけると嬉しいです。
Pythonの基本文法②
前回のブログで、1と2の変数について説明したので、今回のブログでは、「3.条件分岐」から説明します。
- 変数(単一データ) ←前回のブログで説明
- 変数(複数データ) ←前回のブログで説明
- 条件分岐
- 繰り返し
- 関数
3.条件分岐
条件分岐は、条件を満たすかによって、処理を分岐するものです。条件分岐には、単一条件と複数条件の2つがあります。
単一条件
単一条件は、条件が一つだけの場合の条件分岐です。例えば、ある数字を満たせば、Aの処理を実行する、満たさなければ、Bの処理を実行するという流れになります。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
time_data = 1150
if time_data <= 1200:
print("12:00を過ぎていません")
else:
print("12:00を過ぎています")
print横のインデントは、半角スペース4つ分です。Pythonでは、インデントは半角スペース4つが推奨されています。インデントによって、コードのまとまりを判別するので、インデントの数は合わせる必要があります。
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#変数time_data に 1150を代入する
time_data = 1150
#もし、time_data が1200以上であれば、
if time_data <= 1200:
#12:00を過ぎていませんと出力する
print("12:00を過ぎていません")
#↑インデントは、スペース4つ
#それ以外は、
else:
#12:00を過ぎていますと出力する
print("12:00を過ぎています")
このように、単一条件では、一つの条件によって、処理を分岐させます。
複数条件
複数条件は、複数の条件によって、処理を分岐させることです。複数条件の場合、「elif」を使用します。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
time_data = 1150
if 1200 <= time_data <= 1459:
print("レストランは営業中です")
elif 1500 <= time_data <= 1759:
print("レストランは休憩中です")
elif 1800 <= time_data <= 2100:
print("レストランは営業中です")
else:
print("レストランは閉まっています")
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#変数time_data に 1150を代入する
time_data = 1150
#もし、time_data が1200以上1459以下でであれば、
if 1200 <= time_data <= 1459:
#レストランは営業中ですと出力する
print("レストランは営業中です")
#もし、time_data が1500以上1759以下でであれば、
elif 1500 <= time_data <= 1759:
#レストランは休憩中ですと出力する
print("レストランは休憩中です")
#もし、time_data が1800以上2100以下でであれば、
elif 1800 <= time_data <= 2100:
#レストランは営業中ですと出力する
print("レストランは営業中です")
#それ以外は
else:
#レストランは閉まっていますと出力する
print("レストランは閉まっています")
4.繰り返し
繰り返しは、処理を繰り返し行うことをいいます。別名は、ループです。例えば、Xの値が5までの場合、1ずつ加算した数字を繰り返し表示する等の処理です。繰り返しについては、4つのパターンを説明します。
繰り返す回数を設定する
繰り返す回数を設定するは、range関数を使用し、初期値と終了値を定義します。range関数を使用する場合、終了値の1つ前の値が最後になるので、注意が必要です。例えば、下記コードの場合、最後の値は6になります。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
for data_id in range(1, 7):
print(data_id)
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#data_id変数に1から7を満たすまで数字を繰り返し代入する
for data_id in range(1, 7):
#data_idを出力する
print(data_id)
リストを繰り返し条件にする
リストを繰り返し条件にするは、リスト型のデータを繰り返し処理を行います。下記コードの場合、リストの値を1つずつ取り出して出力します。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
for data_id in [5, 95, 65, 101]:
print(data_id)
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#data_id変数にリスト[5, 95, 65, 101]の値を1つずつ取り出して代入する
for data_id in [5, 95, 65, 101]:
#data_idを出力する
print(data_id)
回数を指定する
回数を指定するは、回数を指定して繰り返す方法になります。変数の「i」は繰り返しのみで使用されます。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
y = 5
for i in range(5):
y = y + 1
print(y)
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#変数yに5を代入する
y = 5
#変数iに数字を代入することを5回繰り返す
for i in range(5):
#y=y+1を計算する
y = y + 1
#yを出力する
print(y)
一定条件の間繰り返す
一定条件の間繰り返すは、条件を満たすまで繰り返す処理です。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
y = 10
while y < 50:
y = y + 10
print(y)
else:
print("yは50を超えました")
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#変数yに10を代入する
y = 10
#yが50に達するまで処理を繰り返す
while y < 50:
#y=y+10を計算する
y = y + 10
#yを出力する
print(y)
#yが50に達したら
else:
#yは50を超えましたと出力する
print("yは50を超えました")
5.関数
関数については、下記のブログで説明していますので、そちらをご覧ください。
今回は、Pythonでの関数の記述方法について説明します。Pythonの関数は、「def 関数名()」で定義します。関数の内部で使用する変数を、ローカル変数と呼びます。逆に、関数の外部で使用する変数をグローバル関数と呼びます。この2つについては、後で説明します。
下記のコードで実際の動作を確認してみましょう。ちなみに、下記「tasu」や「kakeru」はローカル変数です。
今まで記述したコードは、全てコメントアウトします。下記コードを入力します。
def calculation(value_1, value_2):
tasu = value_1 + value_2
kakeru = value_1 * value_2
return tasu, kakeru
print(calculation(2, 10))
上記入力後、コードを実行すると、ターミナルに実行結果が表示されます。
コードの説明は、下記コメント青色の文字になります。
#関数calculationはvalue_1とvalue_2の引数を使用する
def calculation(value_1, value_2):
#tasu変数は、引数value_1とvalue_2を加算する
tasu = value_1 + value_2
#kakeru変数は、引数value_1とvalue_2を乗算する
kakeru = value_1 * value_2
#tasu変数とkakeru変数を返す
return tasu, kakeru
#関数calculationの引数value_1に2を代入し、value_2に10を代入して、tasuとkakeruの値を返す
print(calculation(2, 10))
ローカル変数とグローバル変数
ローカル変数については、上記、関数で説明した「tasu」や「kakeru」はローカル関数です。今回は、グローバル関数について、実際のコードで説明します。
x = 0
def func1():
x = 1
print(x)
func1()
print(x)
上記コードを実行すると、結果は下記になります。
0
0
コードの最初にある「x = 0」は、グローバル変数です。それを最初の「print(x)」で出力していますが、結果は「0」になります。
次の「func1():」の下に記述されている「x = 1」はローカル変数です。関数「func1」実行後、「print(x)」を実行していますが、結果は、「0」になっています。関数の中にある変数は、関数の中でしか使用できないので、結果は「0」になります。
それでは、関数の中にある変数をグローバルで使用する場合、どうするか。その時は、グローバル宣言を行うと、関数の中にある変数を外部で使用できます。実際にコードで見てみます。
x = 0
def func1():
x = 1
def func2():
global x
x = 2
print(x)
func1()
print(x)
func2()
print(x)
上記コードを実行すると、結果は下記になります。
0
0
2
グローバル宣言は、関数の中で「global 変数」と記述すると、その変数を関数の外部で使用することができます。上記コードでは、func2()で「global x」を宣言していますので、func2()実行後は、関数のなかで定義した「x = 2」が出力されます。
このように、ローカル変数は、グローバル宣言を行うことで、グローバル変数として使用できます。
Pythonのライブラリ
Pythonには、様々なライブラリが用意されているので、自分で一からコードを記述する必要はありません。ライブラリには、標準ライブラリとサードパーティのライブラリがあります。
標準ライブラリ
標準ライブラリは、Pythonをインストールする時に、一緒にインストールされるライブラリです。Pythonの公式マニュアルに解説があります。
・Python 標準ライブラリ
https://docs.python.org/ja/3/library/index.html
サードパーティのライブラリ
サードパーティのライブラリは、個人や団体などが作成したライブラリです。サードパーティのライブラリをインストールする際は、PyPI(Python Package Index)からインストールします。PyPlはPythonのサードパーティのライブラリを管理しているサイトです。要は、iPhoneでいうとAppStore、AndroidでいうGoogle Play ストアのようなものです。
・PyPI
https://pypi.org/
ライブラリをインストールするポイント
サードパーティのライブラリをインストールするポイントは、下記3点です。
- pipコマンドを使用する
- Pythonが複数バージョンインストールされている場合、各バージョンにインストールされる
- Pythonが複数バージョンインストールされている場合、ランチャー(py)を使用してバージョン指定する
pipコマンド
pipはパッケージ管理ソフトです。パーケージ管理ソフトとは、例えばmacOSでいうAppStore、WindowsOSでいうMicrosoft Store アプリのようなものです。何かのソフトウェアをインストールする時、他のソフトウェアをインストールしないといけない場合、パッケージ管理ソフトがそれを管理して、依存関係のあるソフトウェアをインストールします。
Pythonの場合は、pipがPyPIからライブラリをダウンロードし、依存関係を解決して必要なライブラリをインストールします。
pipはPythonインストール時に、一緒にインストールされています。
ランチャー
ランチャーとは、複数バージョンのPythonを使い分けるツールです。ランチャーを使用して、Pythonのバージョンを指定します。ランチャーは、pyで表現されます。
・Pythonランチャー
https://www.python.jp/install/windows/py_launcher.html#mzDjw
pipの使い方
それでは、実際にpipを使用して、静的解析ツール「black」をインストールしてみます。静的解析ツールとは、コードを実行することなく、コードの内容をチェックするツールです。
ターミナルを起動して下記コマンドを実行します。
pip install black
正常にインストールが完了すると、「Successfully installed〜」のメッセージが表示されます。
Windowsを使用している方は、コマンドプロンプトで下記コマンドを実行します。
python -m pip install black
正常にインストールが完了すると、macOS同様のメッセージが表示されます。
blackの使用方法
VSCodeにblackを設定する方法について説明します。
1.設定を開く
「Code」メニュー→「基本設定」→「設定」を開きます。
2.フォーマッターにblackを指定
検索窓に「black」と入力すると、「Python > Formating: Provider」設定項目が表示されるので、「black」を選択します。設定は、自動保存されます。
3.チェックタイミング指定
blackを動作させるタイミングを指定します。ファイル保存時に、blackがコードをチェックするよう指定します。
検索窓に「Format」と入力し、「Editor : Format On Save」設定項目を探し、チェックをオンにします。その後、設定タブを閉じます。
以上、VSCodeにblackを指定する方法は終わりになります。
仮想環境の作り方
仮想環境とは、Pythonを実行させる環境を仮想に作成することです。仮想環境のメリットとしては、
- 古いPythonのライブラリを使用できる
- チームのメンバーで同環境でPythonを使用できる
- PC(OS)に影響を与えない
等があります。Pythonの仮想環境は、venvと呼び、Pythonインストール時に一緒にインストールされます。
macOSで仮想環境を構築する場合は、下記コマンドを実行します。
python -m venv python_env
「python_env」の部分は、仮想環境名でありフォルダ名になります。任意で指定してください。上記コマンドを実行すると、ホームフォルダ直下に仮想環境「python_env」が作成されます。
Windowsの場合、コマンドプロンプトで下記コマンドを実行します。
python -m venv C:¥Users¥ユーザーの名前¥Desktop¥python_env
上記の場合、デスクトップに仮想環境「python_env」が作成されます。「ユーザーの名前」の部分は、自分が使用しているPCのユーザー名を入力してください。
仮想環境の有効方法
仮想環境を作成しただけでは、仮想環境を使用することはできません。仮想環境を使用する場合、毎回有効にする必要があります。macOSで仮想環境を有効にする場合は、下記コマンドを実行します。
source python_env/bin/activate
sourceとptyhon_evv/…の間には半角スペースを入力します。「python_env」の部分は、使用している仮想環境名にしてください。
Windowsの場合、仮想環境フォルダの中にあるactivate.batを実行する必要があります。予め、cdコマンドを作成した仮想環境直下に移動後、コマンドプロンプトで下記コマンドを実行します。cdコマンドを使用せず、直接ディレクトリ指定でactivate.batを実行しても良いです。
Scripts¥activate.bat
仮想環境を有効にすると、ターミナルの先頭に「(python_env)」が表示されます。
逆に仮想環境から抜ける場合は、macOSとWindows同様で下記「deactivate」コマンドを実行します。毎回実行します。
deactivate
仮想環境から抜けると、ターミナルの先頭から「(python_env)」が消えます。
VSCodeで仮想環境を設定する方法
VSCodeで仮想環境を設定する方法について説明します。
1.仮想環境のフォルダを開く
ファイルメニューから、「フォルダを開く」を選択します。
次に、仮想環境のフォルダを選択して開きます。
2.仮想環境有効
ターミナルメニューから「新しいターミナル」を選択し、ウィンドウ下部のターミナルウィンドウに仮想環境を有効にする下記コマンドを実行します。
source bin/activate
3.blackのインストール
仮想環境にコードフォーマッターである「black」をインストールします。先程、インストールしたのは、PC環境にインストールしているので、仮想環境では使用できません。仮想環境で使用する場合は、別途インストールする必要があります。
pip install black
正常にインストールされると、「Successfully installed〜」のメッセージが表示されます。
以上で、仮想環境のセットアップとblackのインストールは終わりになります。
OpenPyXL
OpenPyXLは、PythonでExcelファイルを読み書きするためのライブラリです。OpenPyXLを使用すると、下記のようなことができます。
- Excelファイルの作成
- Excelファイルの読み書き
- ワークシートの読み書き
- 書式の変更
- セルの結合や分割
- 画像やグラフ等の挿入
OpenPyXLのインストール方法
それでは、実際に、OpenPyXLをインストールしてみましょう。今回は、仮想環境を使用しているので、仮想環境にインストールを行います。下記コマンドを実行します。
pip install openpyxl
正常にインストールがされると、「Successfully installed〜」のメッセージが表示されます。
以上で、OpenPyXLのインストール方法の終わりになります。
次回から、実際にOpenPyXLを使用してPythonでExcelファイルを操作する方法について説明します。
まとめ
本日は下記3点について説明しました。
- Pythonの基本文法②
- Pythonのライブラリ
- OpenPyXL
今回説明した基本文法である「条件分岐」「繰り返し」「関数」は、自動処理以外でもよく使用するので、ぜひ、自分でコードを変更して、色々試してみてください。前回と今回の基本文法を抑えることで、プログラミング知識がレベルアップします!
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!