見出し画像

学習シリーズ第6弾「例外処理とファイル操作」編!

こんにちは!ChatGPTの原田です!学習シリーズ第5弾は「クラスとオブジェクト指向プログラミング」について学びます!では本文へどうぞ!!


1. 前回の答え

まずは前回の答えから!前回の学習内容はこちら!https://note.com/chatgpt_nobdata/n/n07d2aaf4c7e0

1.1 犬クラスの作成

class Dog:
    def __init__(self, name, breed, age):
        self.name = name
        self.breed = breed
        self.age = age

    def bark(self):
        print(f"{self.name}が吠えました!")

1.2 犬クラスのインスタンス化

dog1 = Dog("ポチ", "シベリアンハスキー", 3)
dog2 = Dog("モコ", "シーズー", 5)

dog1.bark()  # ポチが吠えました!
dog2.bark()  # モコが吠えました!

1.3 動物クラスと継承

class Animal:
    def __init__(self, species):
        self.species = species

    def eat(self):
        print(f"{self.species}が食べました!")

class Cat(Animal):
    def __init__(self, species, name):
        super().__init__(species)
        self.name = name

    def meow(self):
        print(f"{self.name}が鳴きました!")

# 使用例
cat1 = Cat("ネコ", "たま")
cat1.eat()     # ネコが食べました!
cat1.meow()    # たまが鳴きました!

1.4 カプセル化

class BankAccount:
    def __init__(self, owner):
        self.__owner = owner
        self.__balance = 0

    def deposit(self, amount):
        if amount > 0:
            self.__balance += amount
            print(f"{amount}円預け入れました。")
        else:
            print("不正な金額です。")

    def withdraw(self, amount):
        if 0 < amount <= self.__balance:
            self.__balance -= amount
            print(f"{amount}円引き出しました。")
        else:
            print("不正な金額または残高不足です。")

    def show_balance(self):
        print(f"残高は{self.__balance}円です。")

# 使用例
account = BankAccount("田中")
account.deposit(1000)  # 1000円預け入れました。
account.show_balance()  # 残高は1000円です。
account.withdraw(500)  # 500円引き出しました。
account.show_balance()  # 残高は500円です。

これらのコードは、Pythonのクラスとオブジェクト指向プログラミングの基本的な概念を示しています。

2. 第6弾学習スタート!

では第6弾スタート!今回はボリューム少なめです!!

2.1例外処理

例:

try:
    # エラーが発生する可能性のあるコード
    result = 1 / 0
except ZeroDivisionError:
    # エラーが発生した場合のコード
    print("0で割ることはできません!")

ほほう、、、

例:

try:
    num = int(input("数値を入力してください: "))
    result = 10 / num
except ZeroDivisionError:
    print("0では割れません!")
except ValueError:
    print("数値を入力してください!")
else:
    print(f"結果は {result} です")
finally:
    print("処理が完了しました!")

なるほど!

2.2ファイル操作

例:

# ファイルを書き込みモードで開く
with open("example.txt", "w") as file:
    file.write("Hello, World!")

# ファイルを読み込みモードで開く
with open("example.txt", "r") as file:
    content = file.read()
    print(content)  # 出力: Hello, World!

3. 演習問題

ではChatGPT先生が作った演習問題を解いてみましょう!

1. 例外処理

整数のリストを受け取り、すべての数値を合計する関数を作成してください。リストが空の場合、またはリスト内の要素が整数でない場合は、適切な例外を発生させてください。

2. ファイル操作

テキストファイルを作成し、いくつかのテキストを書き込んでください。その後、ファイルを開いて内容を読み取り、出力してください。
このステップを完了すると、Pythonでの基本的な例外処理とファイル操作についての基本的な理解が深まるでしょう!

4. まとめ

このステップでは、「例外処理とファイル操作」に焦点を当てました。まとめると、

例外処理のまとめ:

  1. 定義: 例外処理とは、プログラム中で予期しないエラーや問題が発生した場合に、それを捕捉して適切に対応するための仕組みです。

  2. 目的: エラーが発生した際にプログラムが予期せず終了することを防ぎ、問題の情報を表示したり、適切な対応を行うために使用します。

  3. Pythonのキーワード:

    • try: エラーが発生する可能性のあるコードをこのブロック内に記述します。

    • except: 例外(エラー)が発生した場合の処理を記述します。複数の例外を別々にキャッチすることも可能です。

    • else: `try` ブロックが成功した場合、つまりエラーが発生しなかった場合に実行されるブロックです。

    • finally: 例外の有無に関わらず、最後に必ず実行されるブロックです。

  4. よくある例外:

    • `ValueError`: 適切でない値が関数やオブジェクトに渡された場合に発生します。

    • `ZeroDivisionError`: 0での除算が試みられた場合に発生します。

    • など、多数の組み込み例外が存在します。

  5. 利点:

    • プログラムの安定性を高めることができます。

    • エラー原因の特定やデバッグが容易になります。

    • ユーザーフレンドリーなエラーメッセージを提供できます。

ファイル操作のまとめ:

  1. ファイルの読み取り:

    • `read()`: ファイル全体を一度に読み込む。

  2. ファイルへの書き込み:

    • `write()`: 文字列をファイルに書き込む。

例外処理は、予期しないエラーに効果的に対応し、プログラムの安定性や堅牢性を向上させるための重要なツールです。適切な例外処理を行うことで、ユーザーエクスペリエンスの向上や問題の迅速な解決が期待できます!

ファイル操作は、データの永続的な保存や外部のデータソースとのインタラクションに必要です。Pythonはこれらのタスクを効果的にサポートするための豊富なツールセットを提供しています!
今回は以上です!

この記事が気に入ったらサポートをしてみませんか?