自作ツールで欠かせないPythonの基礎知識をざっくり解説

Pythonは非常に強力で柔軟なプログラミング言語であり、さまざまな自作ツールを作成するのに適しています。

本記事では、本ブログで公開している自作ツールのソースコードの理解や、新たにツールを作成する時に必要となるPythonの基礎知識について、要点をざっくりと解説しています。

本記事の内容をすべて理解している方は本記事をスルーしていただいて結構ですが、ご自身のPytyonの理解度に不安があれば、その箇所を確認する目的で活用して頂けます。

変数の扱い方から始まり、条件分岐やループ、関数やクラスの使い方、よく使われるライブラリの紹介、Pythonプログラムの実行方法について、サンプルコードを交えてわかりやすく説明ています。

Pythonの基礎をしっかり押さえて、自作ツールの世界に一歩踏み出しましょう!

目次

Pythonの文法

Pythonの文法もかなりのボリュームがあり、またバージョンによって日々進化していますので、ここではPythonにおける最も基本的な文法について、おさらいしておきます。

本記事で分からない部分がでてきたら @ITの「Python入門」が参考になります。

変数

変数には、数値、文字列、リスト、辞書(ディクショナリ)、セット、タプルが使えます。

x = 10                                 # 数値(整数、実数)
y = "Hello"                            # 文字列
z = [1, 2, 3]                          # リスト
person = {"name": "Alice", "age": 25}  # 辞書
fruits = {"apple", "banana", "cherry"} # セット
point = (10, 20)                       # タプル

制御構文

条件分岐

条件によって処理を分岐します。

if x >= 10 and y is None:
    print("x が 10 以上で、y が None")
elif x != 5 or x == 4:
    print("x が5 以外、または  x が 4 と等しい")
else:
    print("どの条件にも当てはまらない")

ループ

ループには3種類あります。

  • 指定した回数だけループする
  • 配列変数(リスト、辞書、タプル、セット)の要素の数だけループする
  • 条件が満たされる間のみループする
# --------------------------------------------------
# 指定回数のループ
# --------------------------------------------------
for i in range(3) :
    print(i)

# --------------------------------------------------
# リストの数だけループ
# --------------------------------------------------
datas = [1,2,3,4,5]
for data in datas :
    print(data)

# --------------------------------------------------
# 条件が満たされる間のみループ
# --------------------------------------------------
x = 10
white x >= 0 :
    print(data)
    x -= 1

ループの途中でループの先頭に戻りたい場合、continue、途中でループを抜けたい場合は break を使います。

例外

# --------------------------------------------------
# 全ての例外を受け取る
# --------------------------------------------------
try:
    result = 10 / 0
except :
    print("ゼロで割ることはできません")
finally:
    print("正常、以上にかかわらず実行されます")

# --------------------------------------------------
# 特定の例外のみ受け取る
# --------------------------------------------------
try:
    result = 10 / 0
except ZeroDivisionError:
    print("ゼロで割ることはできません")
finally:
    print("正常、以上にかかわらず実行されます")

関数とラムダ式

関数

関数とは、処理を1つのまとまりで定義したものです。プログラム全体のコード量が削減できるほか、プログラムの見やすさや、他のプログラムへの流用が簡単になるというメリットがあります。

def greet(x,y):
    return x * y

一般的にプログラムの中で同じような処理を何度も記述する場合、その部分を切り出して関数化しますが、複雑な処理の場合は処理をいつくかに分割し、それぞれを関数化することもあります。

ラムダ式

ラムダ式は無名関数とも呼ばれ、短く簡単な処理を簡素に定義できるメリットがあります。ラムダ式を変数に代入することで、あたかも変数を関数のように扱うことが可能ですが、この方法はあまり使われません。

関数(例えば filterなど)の中には、引数に関数を渡すことを前提としているものがあり、このような関数に対してラムダ式を使うケースが一般的です。

# ラムダ式を変数に代入して使う
myfunc = lambda a, b: a + b
print(myfunc(2, 3)) # 出力: 5

# ラムダ式を関数の引数として使う
filter_even = filter(lambda x: x % 2 == 0, l)

クラス

クラスとは、処理とデータを1つのまとまりとして定義したものです。self.変数名 はインスタンス変数(またはプロパティ)と呼び、クラス内にデータを保持するための変数です。

処理は関数として定義しますが、クラスの中で定義した関数のことをメソッドと呼びます。一般的な関数との違いは、第一引数には必ず self を指定する必要があることです。

class Member:
    # コンストラクタ
    def __init__(self, name,section):
        #インスタンス変数の定義
        self.name = name 
        self.section

    # メソッド
    def get_name(self):
        return self.name

mem = Member("山田","第一営業部")
print(mem.get_name())

ライブラリ・モジュール・パッケージ

モジュールとは、Pythonで書かれたプログラムのことで、拡張子 .py のファイルです。
モジュールを1つのフォルダに集めたものをパッケージと呼んでいます。
ライブラリは、ある目的や機能を実現するために必要なモジュールやパッケージの集りです。

ライブラリ  >  パッケージ  >  モジュール

import による参照

ライブラリを使う場合は、呼び出す前に、import を使ってライブラリを読み込みます。importには3つの書き方があります。

1つ目は単にライブラリ名を指定するだけです。2つ目はライブラリに略称を付けたい場合です。3つ目はライブラリの中から、特定の関数やクラスだけを読み込みたい場合です。

import ライブラリ名
import ライブラリ名 as エイリアス名
from ライブラリ名 import 関数名

import os 
import numpy as np
import matplotlib.pyplot as plt 

ライブラリのインストール

ライブラリとは、特定の機能を持つ再利用可能なコードの集まりです。Pythonのライブラリには、標準ライブラリと標準外(サードパーティ)のライブラリがあります。

pip によるインストール/アンインストール

標準外のものについては、pip コマンドによるインストールが必要です。

pip install ライブラリ名

pip install ライブラリ名 == バージョン番号

例えば、pandas をインストールする場合、次のように記述します。

pip install pandas
pip install pandas == 1.2.3

一方、アンインストールする場合も pip コマンドを使います

pip uninstall ライブラリ名

pip uninstall pandas

requirements によるインストール

テキストファイルにライブラリとバージョンの一覧を記述することで、一括してインストールが可能です。テキストファイルの名前は何でも構いませんが、慣例的に requirements.txt というファイル名が広く利用されています。

pip install -r requirements.txt

requirements.txtの中身は、次のように記述します。

numpy==1.23.5
opencv-python==4.7.0.72
onnx==1.14.0
insightface==0.7.3
psutil==5.9.5
tk==0.1.0
customtkinter==5.1.3
pillow==9.5.0
torch==2.0.1+cu118; sys_platform != 'darwin'
torch==2.0.1; sys_platform == 'darwin'
torchvision==0.15.2+cu118; sys_platform != 'darwin'
torchvision==0.15.2; sys_platform == 'darwin'

Pythonプログラムの実行

python の後にファイル名を指定します。

python ファイル名.py

python youtube_dl.py

python のオプションには、-c と -m があります。 これらはあまり使われないので本記事では割愛しますが、詳しく知りたい方は「Python公式ページ」をご確認ください。

まとめ

本記事では、Pythonでツールを自作する際に必要となる基礎知識について、ポイントを絞って解説しました。Pythonの基本的な文法から始まり、条件分岐やループ、関数やクラスの使い方、さらにライブラリの活用方法まで幅広くカバーしました。

  • 変数の扱い方
  • 制御構文
  • 関数とラムダ式
  • クラス
  • ライブラリの使い方
  • Pythonプログラムの実行方法

pythonは非常に強力で柔軟な言語であり、自作ツールの作成に最適です。本記事で紹介した基礎知識を押さえておけば、ツールの自作や既存ツールの理解、修正が容易になります。これから自作ツールの世界に踏み出す方は、まずは簡単なツールから始めてみて、徐々に複雑なものに挑戦していくと良いでしょう。

本記事が、皆様のツール作成のお役に立てることを願っています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次