Pythonの開発環境構築と基礎

今回は、 PythonのインストールとHello World表示のような基本、簡単なプログラムの実装を学習します。

導入

教育に必要なツール類をインストールします。
今回は、Python本体とデバッグ等を行うVSCode(IDE、統合開発環境)をインストールします。

Pythonのインストール

まずはPython本体をインストールします。
下記サイトからインストール媒体をダウンロードし、インストールを実行します。

最新の安定版は、3.8.1(2019.12.22現在)です。
インストール時に注意事項が1点だけあります。
以下のサイトにも書いてあるように、

以下に注意する必要があります。

  1. インストーラにて”Add Python PATH”の設定
  2. インストール後にPythonユーティリティが収容されているディレクトリへのパス追加

1.が抜けてしまうと、pythonコマンドを起動できません。
2.が抜けてしまうと、pythonのパッケージインストーラ”pip”を起動できません。pipは、機能拡張用の追加モジュールをインストールするために使用します。

VSCodeのインストールと環境設定

次に、VSCodeをインストールします。
媒体は、以下からダウンロードします。

インストーラは、User Installer、System Installer、.zip の3種類ありますが、どれでも大丈夫です。
参考までに、.zipは解凍するだけで使用できるようになります。

次に環境設定です。
VSCodeを起動し、画面左のアイコン群から”Extentions”を選択して日本語化パッケージとPythonデバッガを導入します。

上図の黄色枠線部分が”Extentions”で、追加パッケージを検索導入する機能ボタンです。
”Extentions” ボタン押下後、上図赤枠の検索ボックスに、”japan”と入力すると、日本語化パッケージが検索表示されますので、インストールを実行します。

次に、Pythonデバッガです。
先ほどと同様に、検索ボックスに”python”と入力すると、Pythonデバッガが表示されますので、インストールします。
デバッガが何種類か検索されると思いますが、Microsoft社製を選択しておきましょう。

Pythonの基本

ここでは、Pythonプログラミングに必要な基本的な知識を学習します。
学習内容は、以下となります。

  • HelloWorld
  • 分岐制御(if文)
  • 繰り返し(Loop)
  • 配列
  • ファイル操作

Pythonの特徴は、以下の通りです。

  • インタプリタ言語である
  • デフォルトの文字コードは、UTF-8
  • 同じ数のインデントが1つのブロックと認識される
  • コメントの開始は、”#”
  • 変数宣言に型は不要(すべてvarriant型)
  • インデントなしの命令が、main関数となるイメージ

HelloWorld

まずは、HelloWorldです。
インタプリタですので、以下のようにコマンドラインからでもソース入力、実行ができます。

C:\Python>python -V
Python 3.8.0

C:\Python>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World!")
Hello World!
>>> exit()

7行目に、”print(“Hello World!”)”を入力し、8行目でコンソールに出力されています。

分岐、繰り返し

下記サンプルコードを使います。

print("hello world!")

hairetsu = [1, 2, 3, 4, 5]
hairetsu.append(10)
print(hairetsu)

for i in hairetsu:
    if (i%2)==0 :
        print(i)
  • 1行目 先ほどの”hello world!”
  • 3行目 配列への値設定
  • 4行目 配列への値追加
  • 5行目 配列の値表示
  • 7行目 配列からの値取得Loop
  • 8行目 配列から取得した値(i)の剰余から偶数判定
  • 9行目 偶数時にコンソール表示

VSCodeで表示すると、以下のようになり、画面下のデバッグコンソールに出力結果が表示されます。

VSCodeでのコード入力は、以下のように行います。

  • ファイルメニューから”新規作成”を選択してCtrl+Sを押下
  • 拡張子を.pyで保存
  • コード入力
  • F5キー押下し、その後Enterキー押下

応用編

実業務でよく使う以下の機能を学習します。

  • ディクショナリ
  • クラス
  • 例外
  • 継承

メモリー付き電卓を例に、学習していきましょう。
今回作成するプログラムをクラス図で表現すると、以下のようになります。

クラスMemoryには、メモリー関連の機能を実装しておきます。
クラスCalculatorは、計算関連の機能(calcメソッドのみ)を実装します。
計算機能としては、加算(+)と減算(-)のみとします。
ソースコードは、以下のようになります。

class Memory():
    memoryval=int(0)
    def Mplus(self,val):
        self.memoryval+=int(val)
    def Mminus(self,val):
        self.memoryval-=int(val)
    def Mclear(self):
        self.memoryval=int(0)
    def Mr(self):
        return self.memoryval

class Calculator(Memory):
    value = 0
    command = { '+':0 ,'-':1 ,'=':2 ,'m+':3 ,'m-':4 ,'mc':5 ,'mr':6 ,'ac':7 ,'c':7 }
    com=-1

    def __init__(self):
        pass
    def calc(self,val):
        if val.isdigit():       # 数字入力
            if self.com==0:     # 直前に+入力
                self.value+=int(val)
            elif self.com==1:   # 直前に-入力
                self.value-=int(val)
            else:               # 直前も数字入力
                self.value = int(val)
        else:
            try:
                self.com = self.command[val]    # コマンド引当
                if self.com==2:     # =入力
                    return self.value
                elif self.com==3:   # m+入力
                    self.Mplus(self.value)
                elif self.com==4:   # m-入力
                    self.Mminus(self.value)
                elif self.com==5:   # mc入力
                    self.Mclear()
                elif self.com==6:   # mr入力
                    return self.Mr()
                elif self.com==7:   # ac、c入力
                    self.value=int(0)
            except:
                print("コマンド引当失敗")

calc = Calculator()
while True:
    value = input().strip()
    if value=='q':
        print("おしまい。")
        break
    answer=calc.calc(value)
    if answer != None:
        print("answer=" ,answer)

メイン処理

45行目以降がメイン処理になります。
以下のような処理をしています。

  • 45行目   電卓インスタンスを作成し、
  • 47行目   キー入力待ち、
  • 48~50行目 ’q’入力でプログラム終了
  • 51行目   ’q’以外のキー入力時は Calculatorクラスの計算メソッド(calc)を呼び出し
  • 52~53行目 計算メソッドに戻り値があれば画面表示を行います

メモリークラス

1行目から10行目までは、Memoryクラスです。
電卓のキーM+、M-、MC、MRの4種類の機能を実現します。

  • 2行目 メモリーされる変数です。値0で初期化しています。
  • 3行目 M+(メモリへの加算)のメソッドです。
  • 5行目 M-(メモリへの減算)のメソッドです。
  • 7行目 MC(メモリ内容のクリア)のメソッドです。
  • 9行目 MR(メモリ内容の読み出し)のメソッドです。

電卓クラス

12行目から42行目までがCalculatorクラス(電卓本体)になります。
ここでは、ディクショナリとコンストラクタ、例外を使っています。
解説しましょう。

  • 14行目 キー入力をコマンド(0~7までの数字)に置き換えるディクショナリです。
  • 17行目 コンストラクタです。ただし、処理は何もしません(pass)。
  • 19~43行目 計算メソッド(calc)
  • 20~26行目 数字入力時の処理
  • 29行目 ディクショナリの引き当て処理です。
  • 30~41行目 コマンド対応の処理です。
  • 43行目 コマンド引当失敗による例外をキャッチしメッセージを表示します。

まとめ

今回は、 Pythonのインストールから簡単なプログラムの実装までを学習しました。
また、VSCodeを導入とプログラミング作業も簡単に解説しました。

Pythonは提供ライブラリが多く、言語的にもシンプルで覚えやすいので、知っておくと実業務では役に立ちます。