0Pricing
Python For Kids · レッスン

OOP入門

オブジェクト、クラス、メソッドについて理解します。

「OOP入門」はCoddyKit上の無料Python For Kidsレッスンです。 これはレッスン1/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython For Kids学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python For Kidsコースには全5レッスンが含まれています。

OOP入門

オブジェクト指向プログラミング(OOP)のレッスンへようこそ。ここでは、オブジェクト、クラス、メソッドなど、PythonにおけるOOPの基本を学びます。OOPを使うと、整理された再利用可能なコードを作成できます。

OOP入門 — イラスト1

オブジェクト指向プログラミングとは

オブジェクト指向プログラミング(OOP)は、「オブジェクト」を使ってアプリケーションを設計するプログラミングパラダイムです。関連するプロパティと振る舞いを個々のオブジェクトにまとめることで、コードを整理しやすくします。

  • オブジェクト: 現実世界のエンティティを表すインスタンスです。
  • クラス: オブジェクトを作成するための設計図です。
  • メソッド: クラスまたはオブジェクトに属する関数です。

これらの概念をさらに詳しく見ていきましょう。

オブジェクトとクラス

OOPでは、すべてがオブジェクトとクラスを中心に成り立っています。

  • クラス: オブジェクトを作成するための設計図またはテンプレートと考えることができます。
  • オブジェクト: クラスのインスタンスです。クラスの設計図に基づく具体的なエンティティを表します。

たとえば、Car というクラスを考えてみましょう。それぞれの Car オブジェクトは、独自の色、メーカー、モデルを持つことができます。

クラスの定義

Pythonでは、class キーワードに続けてクラス名とコロンを記述することで、クラスを定義できます。クラスの内部では、属性とメソッドを定義できます。

構文:

class ClassName:
    def __init__(self, attribute1, attribute2):
        self.attribute1 = attribute1
        self.attribute2 = attribute2

    def method_name(self):
        # Code for method
        pass

オブジェクトの作成

クラスを定義すると、関数と同じようにクラス名を呼び出して、そこからオブジェクト(インスタンス)を作成できます。

例:

# Defines the Car class
class Car:
    def __init__(self, make, model):
        self.make = make  # Sets the make of the car
        self.model = model  # Sets the model of the car

    def display_info(self):
        print("Car Make:", self.make)  # Prints the make of the car
        print("Car Model:", self.model)  # Prints the model of the car

# Creates an object of the Car class
my_car = Car("Toyota", "Corolla")

# Calls the display_info method of the object
my_car.display_info()

クラスの属性とメソッド

属性はクラスまたはオブジェクトに属する変数であり、メソッドはクラスに関連する処理を実行する関数です。

  • 属性: オブジェクトの特徴(色、サイズなど)です。
  • メソッド: オブジェクトが実行できる動作(運転、停止など)です。

属性とメソッドの両方を持つクラスの例を見てみましょう。

例: シンプルなクラスの作成

属性とメソッドを持つシンプルな Dog クラスを作成します。

例:

# Defines the Dog class
class Dog:
    def __init__(self, name, breed):
        self.name = name  # Sets the name of the dog
        self.breed = breed  # Sets the breed of the dog

    def bark(self):
        print(self.name + " says Woof!")  # Dog barks

# Creates an object of the Dog class
my_dog = Dog("Buddy", "Golden Retriever")

# Calls the bark method
my_dog.bark()

インスタンス変数とクラス変数

クラス内の変数は、次のように分類できます。

  • インスタンス変数: 各オブジェクトのインスタンスに固有の変数です。
  • クラス変数: クラスのすべてのインスタンスで共有される変数です。

この2種類の変数の使い方を見てみましょう。

# Defines the Student class with a class variable
class Student:
    school = "XYZ High School"  # Class variable

    def __init__(self, name):
        self.name = name  # Instance variable

    def display_info(self):
        print(self.name + " attends " + Student.school)  # Prints student info

# Creates two objects of the Student class
student1 = Student("Alice")
student2 = Student("Bob")

# Calls the display_info method for both students
student1.display_info()
student2.display_info()

よくできました!

Pythonにおけるオブジェクト指向プログラミング(OOP)の基本として、オブジェクト、クラス、属性、メソッドについて学びました。OOPを使うとコードをより効果的に整理し、再利用可能なコンポーネントを作成できます。自分でクラスやオブジェクトを作成し、理解を深める練習を続けてください。

OOP入門 — イラスト10

よくある質問

「OOP入門」レッスンは無料ですか?

はい。「OOP入門」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python For Kidsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python For Kidsコースには全5レッスンが含まれています。

「OOP入門」で何を学びますか?

オブジェクト、クラス、メソッドについて理解します。 ブラウザで直接実行するハンズオンコードでPython For Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python For Kidsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython For Kidsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/5です。

「OOP入門」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython For Kidsレッスンでコードを書いて実行できますか?

はい。すべてのPython For Kidsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. OOP入門
  2. クラスとオブジェクトを作成する
  3. 継承
  4. カプセル化
  5. ポリモーフィズム
← Python For Kidsに戻る