• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Python / Pythonクラスの定義、プロパティ、メソッド、コンストラクタ(__init__)、selfの意味、Pythonのオブジェクト指向の基本

Pythonクラスの定義、プロパティ、メソッド、コンストラクタ(__init__)、selfの意味、Pythonのオブジェクト指向の基本

1 クラス定義の方法
2 プロパティの変更と削除
3 メソッドの作成と実行
4 コンストラクト(__init__)の定義
5 selfというパラメータは何なのか?
6 関連記事

クラス定義の方法

pythonはオブジェクト指向言語であり、クラスを定義して属性(プロパティ)とメソッドを持っている。

クラスとは、オブジェクトを作成するための雛形である。

実際にpythonでクラスでプロパティを定義する場合には、以下のように記述しアクセスできる。

  • クラスとプロパティの定義
class SampleClass:
    value=5
  • インスタンス作成して、プロパティにアクセス
s = SampleClass() # インスタンス作成
print(s.value) # 5と表示(プロパティにアクセス)
  • クラスを定義するが中に記述しない場合passとする
class SampleClass:
    pass

プロパティの変更と削除

クラスからインスタンスを作成して、プロパティにアクセスし、値を変更することができる。

  • クラスとプロパティの定義
class SampleClass:
    value=5
  • インスタンス作成して、プロパティの値を変更
s = SampleClass()
s.value = 6 # 値を5から6に変更
print(s.value) # 6と表示
  • プロパティを削除
del s.value # プロパティvalue削除
del s # インスタンスs削除

メソッドの作成と実行

次にメソッドを定義する方法とそれを実行する方法について記述する

メソッドとはクラスの中に記述する関数で、プロパティへのアクセスも含んだ一連の処理をまとめたものである。

  • クラスとメソッドの定義
class PrintClass:
    value = 20 # プロパティ

    def print_word(self, str): # メソッドの定義、第1引数はselfとする
        print(str)

    def print_value(self):
        print(self.value) # self.valueとして、valueを参照する

p1= PrintClass()
p1.print_word("Hello")
# print_classのprint_wordメソッドを呼び出す。
引数selfにはインスタンス自身(p1)が入り、引数strには"Hello"を渡して実行される

p1.print_value() # print(self.value)が実行され、20が表示される

a.value = 50 # valueの値を変更
a.print_value() # print(self.value)の結果、50が表示される

コンストラクト(__init__)の定義

クラスを作成すると、まずコンストラクタを定義するのが一般的である。
コンストラクタは、インスタンス作成時に呼び出される特殊メソッドで、プロパティの初期化などを行う

  • コンストラクタ(__init__)の定義
class Person:
    def __init__(self, name, age): # コンストラクタ
        self.name = name
        self.age = age

p1= Person("Taro", 20) # __init__が呼び出され、nameとageがTaro, 20で初期化される
print(p1.name) # Taro
print(p1.age) # 20

selfというパラメータは何なのか?

ここまで登場してきたメソッドの第一引数selfというパラメータは、現在のインスタンスへの参照を表す。
クラスのプロパティやメソッドにアクセスする際に用いる。

  • クラスとselfの意味
class Person:
    def __init__(self, name, age): # 第1引数のselfはインスタンスへの参照
        self.name = name インスタンスのnameに引数nameを設定
        self.age = age

    def print_name(self):
        print(self.name) # インスタンスのnameにアクセス

p1= Person("Taro", 20) # __init__が呼び出される(selfにp1、nameにTaro、ageに20を設定して実行)
print(p1.name) # Taro
print(p1.age) # 20
p1.print_name() # Taroと表示される

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 2
    Python未経験だが、フリーランスの案件に採用さ…
  • 3
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 クラス定義の方法
2 プロパティの変更と削除
3 メソッドの作成と実行
4 コンストラクト(__init__)の定義
5 selfというパラメータは何なのか?
6 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Python講座
【Udemy】Python入門講座(0からPythonの基礎を体系的に学んで、生成AIでバイブコーディング)
受講生3000人ほどの人気講座。<strong>Pythonの基礎から生成AI活用</strong>...
詳細 ▶

Footer

利用規約