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
4.3 プロパティ化より