{category}

Python - クラス定義

class

クラス(関数とクラス

意味 設計図を作る


classとは?

class文は、オブジェクト指向プログラミングで欠かせない、設計図であるクラスを定義するために使います。クラスは、データと処理をまとめて扱うための仕組みで、プログラムを効率的に開発するのに役立ちます。

classの具体的な使い方

銀行口座クラスの定義例

class BankAccount:
    def __init__(self, owner, balance=0):
        self.owner = owner
        self.balance = balance
    
    def deposit(self, amount):
        self.balance += amount
        print(f'{amount}円を預けました。残高は{self.balance}円です。')
    
    def withdraw(self, amount):
        if self.balance >= amount:
            self.balance -= amount
            print(f'{amount}円を引き出しました。残高は{self.balance}円です。')
        else:
            print('残高が不足しています。')

# 使用例
account = BankAccount('山田太郎', 1000)
account.deposit(5000)
account.withdraw(2000)

👇出力結果

5000円を預けました。残高は6000円です。
2000円を引き出しました。残高は4000円です。

BankAccountクラスは、銀行口座を表現しています。__init__メソッドで口座の所有者と初期残高を設定し、depositメソッドで入金、withdrawメソッドで引き出しの処理を行います。各操作後に残高を表示します。

継承を使用したクラス定義例

class Animal:
    def __init__(self, name):
        self.name = name
    
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return f'{self.name}:ワン!'

class Cat(Animal):
    def speak(self):
        return f'{self.name}:ニャー!'

# 使用例
animals = [Dog('ポチ'), Cat('タマ')]
for animal in animals:
    print(animal.speak())

👇出力結果

ポチ:ワン!
タマ:ニャー!

Animalクラスを基底クラスとし、DogクラスとCatクラスがそれを継承しています。speakメソッドをオーバーライドすることで、各動物に適した鳴き声を実装しています。これにより、異なる種類の動物でも共通のインターフェースを使用できます。

classに関するよくある質問

Q. __init__メソッドの役割は?
A. __init__メソッドは、クラスのコンストラクタとして機能し、オブジェクトが作成されるときに自動的に呼び出されます。主に、オブジェクトの初期化や必要な属性の設定を行います。
Q. selfの意味は何ですか?
A. selfは、クラス内のメソッドの第一引数として使用され、現在のインスタンス(オブジェクト自身)を参照します。これにより、メソッド内でインスタンスの属性やメソッドにアクセスできます。
Q. クラスとオブジェクトの違いは?
A. クラスは、オブジェクトの設計図や雛形のようなものです。オブジェクトは、そのクラスから生成された具体的なインスタンスです。クラスは一つですが、そこから多数のオブジェクトを作成できます。

classが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのclassや__iter__、__str__、__getitem__、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Pythonを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

__iter__

反復処理の準備

種類: 特殊メソッド

__str__

文字列で表現

種類: 特殊メソッド

__getitem__

要素へのアクセス

種類: 特殊メソッド

=

代入

種類: 代入演算子

~

ビット反転

種類: ビット演算子