工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python OOP基礎:クラス、オブジェクト、継承、コンストラクタを解説

Pythonオブジェクト指向プログラミング (OOP)

PythonのOOPモデルでは、開発者が現実世界のエンティティをクラスで定義されるオブジェクトとしてモデル化できます。言語はコード再利用とモジュール性を優先し、クラスの作成と拡張を容易にします。

クラスとは

クラスは、データ(属性)と振る舞い(メソッド)を束ねる論理的なコンテナです。共通のプロパティを共有するオブジェクトのテンプレートを定義します。

例: Customerクラスは、transactions、balance、debtなどの属性と、deposit()やwithdraw()などのメソッドを公開できます。

Pythonでのクラス定義

シンプルなクラスを作成する手順:

  1. classキーワードを使用:
    class MyClass:
        pass
  2. クラス内にメソッドを定義。インスタンスメソッドの最初のパラメータはselfで、オブジェクト自身を参照します。
    class MyClass:
        def greet(self):
            print("Hello from MyClass")
  3. クラスをインスタンス化:
    obj = MyClass()
  4. メソッドを呼び出し:
    obj.greet()

完全な例:

# Pythonクラスの動作例
class MyClass:
    def method1(self):
        print("Guru99")
    def method2(self, text):
        print("Software Testing: " + text)
def main():
    c = MyClass()
    c.method1()
    c.method2(" Testing is fun")
if __name__ == "__main__":
    main()

Pythonでの継承

継承により派生クラスが基底クラスの振る舞いを再利用・拡張できます。Pythonは単一継承と多重継承の両方をサポートします。

class Base:
    def greet(self):
        print("Hello from Base")
class Derived(Base):
    def greet(self):
        super().greet()
        print("Hello from Derived")
# 使用例
obj = Derived()
obj.greet()

重要なポイント:

コンストラクタ: __init__

__init__メソッドは、新しいオブジェクトを事前定義値で初期化します。

class User:
    def __init__(self, name):
        self.name = name
    def say_hello(self):
        print(f"Welcome to Guru99, {self.name}")
user = User("Alex")
user.say_hello()

出力: Welcome to Guru99, Alex

Python 2 vs Python 3

マイナーな構文違いのみ。上記例はprint文を適切に調整すれば両バージョンで動作します。

重要なポイント

Python

  1. Raspberry Pi と Python でロボットを構築:完全ガイド
  2. C# クラスとオブジェクト:堅牢な OOP の基礎
  3. C++ structとclassの違い:構文、特徴、使い分けのベストプラクティス
  4. Pythonオブジェクト指向プログラミング完全ガイド:クラス、継承、カプセル化、ポリモーフィズム
  5. Python継承マスター:概念、構文、実践例
  6. Python strip()メソッド完全ガイド:実践例付き
  7. Python collections.Counter:効率的なカウント、更新、演算操作
  8. Python type()とisinstance()の理解:実例付き解説
  9. Python list.index():要素の位置を検索する実践ガイド
  10. Pythonオブジェクト指向プログラミング完全ガイド:クラスと継承をマスター
  11. Javaオブジェクトとクラス:コアOOP概念を完全理解