【python入門】インスタンスメソッドをプロパティ化する

python
Yamu
Yamu

インスタンス
メソッドをプロパティ化する
方法を説明します

[R]※本サイトにはプロモーションが含まれています

合わせて読みたい内容
【python入門】pythonのclassを解説:オブジェクト指向プログラミングへの第一歩クラスとインスタンスについて説明してます
【python入門】class構文 : データ属性とメソッドについて理解するデータ属性とメソッドを説明してます
【python入門】特殊メソッドの挙動を確認する特殊メソッドを紹介してます

プロパティ化とは?

クラスのインスタンスメソッドを

プロパティ化するとデータ属性のように呼び出すことが出来る

インスタンスメソッドプロパティ化前

class User_info:
    user_type = None

    def __init__(self, name, age, address, score):
        self.name = name
        self.age = age
        self.address = address
        self.score = score

    def start_name(self):
        if len(self.name) > 0:
            return self.name[0]
        else:
            return print("No name")
    

user = User_info("大和", 18, " Takeshi@gmail.com ", 600)
print(user.start_name())

実行結果

インスタンスメソッド

def start_name(self):

プロパティ化します

プロパティ化

@propertyをインスタンスメソッドの前に加えます

class User_info:
    user_type = None

    def __init__(self, name, age, address, score):
        self.name = name
        self.age = age
        self.address = address
        self.score = score
    @property
    def start_name(self):
        if len(self.name) > 0:
            return self.name[0]
        else:
            return print("No name")
    

user = User_info("大和", 18, " Takeshi@gmail.com ", 600)
print(user.start_name)

実行結果

参考文献

Yamu
Yamu

4.3 プロパティ化より

タイトルとURLをコピーしました