property內建裝飾器

2022-07-10 02:00:09 字數 712 閱讀 3972

是乙個python內建的裝飾器,可以裝飾在 "類內部的方法" 上

可以將該方法呼叫方式由 "物件.方法()" 變成 "物件.方法"

目的是為了迷惑呼叫者,呼叫的 "方法" 誤以為是 "屬性"

ps:在某些場景下,呼叫的方法只是用來獲取計算後的某個值。

例:計算人體bmi(健康)指數     bmi = weight/(height*height)

class

user:

def__init__

(self, name, weight, height):

self.name =name

self.weight =weight

self.height =height

#獲取bmi指數

#使用property裝飾器

@property

defbmi(self):

return self.weight / (self.height ** 2)

user_obj = user("

pig", 100, 1.8)

#不使用property裝飾器

#print(obj.bmi())

#使用property裝飾器:使呼叫方法看起來像是呼叫屬性

print(user_obj.bmi)

執行結果:

30.864197530864196

內建裝飾器 property

使用 property 閱讀 4164 內建裝飾器 property的基本功能就是把類中的方法當作屬性來訪問 在繫結屬性時,如果我們直接把屬性暴露出去,雖然寫起來很簡單,但是,沒辦法檢查引數,導致可以把成績隨便改 s student s.score 9999這顯然不合邏輯。為了限制score的範圍,...

Python之內置裝飾器property

coding utf 8 author baoshan class student object def init self,name self.name name property defage self return self.age age.setter defage self,value i...

property裝飾器詳解

property裝飾器,看了好幾個教程都不太理解,知道發現了知乎的這篇好文python property的介紹與使用,終於懂了!下面結合github上的乙個例子,解釋一下這個裝飾器 class person object def init self,name,age 初始化 self.name na...