前回の記事 ⇒ 第2回:Pythonのデータ構造と関数
この回では、より高度なPythonの概念であるオブジェクト指向とモジュールと例外処理を学ぶことで、エラーが発生した際の対処法を習得する。
目次
1.オブジェクト指向プログラミング(OOP)の基礎
クラスとインスタンス:クラスの定義とインスタンスの生成
メソッドと属性:クラス内での関数と変数の扱い
継承:クラスを継承して機能を拡張
2.モジュールとパッケージ
標準ライブラリ:mathやdatetimeなどの基本モジュール
外部パッケージの利用:pipを使ったパッケージのインストールと利用方法
3.例外処理
例外の種類:ValueError, TypeError など
例外処理の書き方:try, except, finallyによるエラーハンドリング
1.オブジェクト指向プログラミング(OOP)
Pythonはオブジェクト指向プログラミング(OOP)をサポートしており、クラスとインスタンスを利用してコードを構造化することができる。
クラスとオブジェクト
クラスはオブジェクトの設計図で、オブジェクト(またはインスタンス)はそのクラスから作られた実体です。
クラスはclassキーワードで定義し、__init__メソッドで初期化処理する。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name}.")
person1 = Person("Alice", 25)
person1.greet() # 出力: Hello, my name is Alice.
継承
継承により、既存のクラスの特性を引き継いで新しいクラスを作ることが可能。
新しいクラス(サブクラス)は、元のクラス(スーパークラス)の機能を再利用しつつ、独自の機能を追加できる。
class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age)
self.student_id = student_id
student1 = Student("Bob", 20, "S1234")
student1.greet() # 出力: Hello, my name is Bob.
2.モジュールとパッケージ
モジュールやパッケージを使うことで、コードを機能ごとに分割し、再利用可能にできます。
モジュール:Pythonファイルを分けて機能を整理したものです。別のファイルからimport文で読み込み、関数やクラスを利用できます。
# example.py
def hello():
print("Hello from the module!")
# main.py
import example
example.hello() # 出力: Hello from the module!
パッケージ:パッケージは、複数のモジュールをまとめたディレクトリです。ディレクトリには__init__.pyファイルが含まれ、モジュールをパッケージ化して扱うことができます。
3.エラー処理(例外処理)
エラー処理は、予期せぬエラーや例外が発生した際にプログラムが停止しないようにするための手法です。
try-except文:try-except文を使用してエラーをキャッチし、エラーが発生した際の動作を指定できます。
try:
number = int(input("Enter a number: "))
print("Result:", 10 / number)
except ValueError:
print("入力が数値ではありません。")
except ZeroDivisionError:
print("ゼロで割ることはできません。")
finallyブロック:finallyブロックは、エラーの有無にかかわらず必ず実行されるコードを記述します。
try:
file = open("data.txt", "r")
except FileNotFoundError:
print("ファイルが見つかりません。")
finally:
print("終了処理を実行します。")
4.まとめ
第3回では、Pythonでのオブジェクト指向プログラミングやモジュールの活用、エラー処理について書いてみました。
これらを活用することで、効率的なコードとなります。