Python基礎:オブジェクト指向プログラミング(OOP)
OOP チートシート(追加)
Lesson 7 of 7 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
🐍 Python OOP チートシート
Python Basics: Object-Oriented Programming クエストで学んだ内容のクイックリファレンスです。
1. クラスとオブジェクト
クラスの定義
class Person:
def __init__(self, name, age):
self.name = name # パブリック属性
self.age = age # パブリック属性
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
オブジェクトの作成
p1 = Person("John", 30)
p1.greet() # Hello, my name is John and I am 30 years old.
2. 属性とメソッド
- 属性 = オブジェクトに属する変数(
self.attribute) - メソッド = オブジェクトに属する関数(
def method(self):)
アクセス方法:
print(p1.name) # 属性
p1.greet() # メソッド
3. 継承
基本的な継承
class Animal:
def __init__(self, name):
self.name = name
def sound(self):
print("Some generic sound")
class Dog(Animal):
def sound(self):
print("Woof woof!")
dog = Dog("Rex")
dog.sound() # Woof woof!
4. super()
親クラスのコンストラクタを呼ぶ
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # Animalの__init__を呼び出す
self.breed = breed
5. メソッドのオーバーライド
子クラスは親クラスのメソッドを置き換えられます:
class Cat(Animal):
def sound(self):
print("Meow!")
6. プライベート属性とメソッド
__ を使ってプライベートとしてマーク
class Person:
def __init__(self, name, age):
self.name = name
self.__age = age # プライベート属性
def __print_age(self): # プライベートメソッド
print(self.__age)
def show_info(self):
print(self.name)
self.__print_age()
プライベートメンバーに直接アクセスするとエラーになります:
p = Person("Alice", 25)
p.__age # ❌ AttributeError
p._Person__age # ✅ 動作するが推奨されません
7. 重要なOOP用語
| 用語 | 意味 |
|---|---|
| Class | オブジェクトの設計図です。 |
| Object | クラスのインスタンスで、固有のデータを持ちます。 |
| Attribute | オブジェクト内の変数。 |
| Method | クラス内の関数。 |
| Constructor | オブジェクト作成時に呼ばれる特別なメソッド __init__。 |
| Inheritance | 他のクラスのコードを再利用する仕組み。 |
| Overriding | 親クラスのメソッドを再定義すること。 |
super() |
親クラスのメソッドを呼び出します。 |
| Private | 内部用を示すために __ で始まるメンバー。 |
8. 簡単なベストプラクティス
- クラス名には PascalCase を使う:
MyClass selfは現在のオブジェクトを指す- メソッドは一つの責務に集中させる
- 内部の詳細にはプライベートメンバーを使う
- 子クラスで
__init__をオーバーライドしたらsuper().__init__()を呼ぶ - 継承は目的を持って賢く使う — ただ単に使うのは避ける
📌 覚えておくこと: OOPは名詞(もの)とその振る舞いを考えることです。 現実の概念をモデル化し、コードを整理し、再利用を意識しましょう。