python中property裝飾器

2021-10-11 18:41:03 字數 1672 閱讀 8863

property裝飾器,用來將乙個get方法,轉換為物件的屬性,新增為property裝飾器以後,我們就可以向呼叫屬性一樣使用get方法。往往和setter方法裝飾器一起使用。

class

person

:def

__init__

(self,name=

'',age=

20, ***=

'man'):

self.__name = name # 私有屬性

self.__age = age

self.__*** = ***

@property

# property裝飾器,用來將乙個get方法,轉換為物件的屬性,新增為property裝飾器以後,我們就可以向呼叫屬性一樣使用get方法

defname

(self)

:return self.__name

@name.setter # setter方法裝飾器:@屬性名.setter

defname

(self,name)

: self.__name = name

defsetname

(self,name):if

notisinstance

(name,

str)

:print

('name must be string'

)return

self.__name = name

@property

defage

(self)

:return self.__age

@age.setter

defage(self, age)

: self.__age = age

defsetage

(self,age):if

notisinstance

(age,

int)

:print

('age must be int'

)return

self.__age = age

@property

def***

(self)

:return self.__***

@***.setter

def***(self, ***)

: self.__*** = ***

defset***

(self,***)

:if *** !=

'man'

and *** !=

'woman'

:print

('*** must be "man" or "woman"'

)return

self.__*** = ***

defshow

(self)

:print

('name:'

,self.__name)

print

('age:'

,self.__age)

print

('***:'

,self.__***)

p = person(

'小明'

,'18'

,'man'

)p.show(

)

python中的 property使用

如下 class animal object def init self,name,age self.name name self.age age a animal zhuzhu 9 a.name out 3 zhuzhu a.age out 4 9 a.age 20 a.age out 5 20在...

python中 property裝飾器

python中有乙個被稱為屬性函式 property 的小概念,它可以做一些有用的事情。在這篇文章中,我們將看到如何能做以下幾點 property 考察 student 類 class student object def init self,name,score self.name name se...

python 中 property的使用

從14年下半年開始接觸到python,自學了一段時間,後又跟別人學習了下,把基礎知識基本上學過了。忽然感覺python不可能這麼簡單吧,就這麼點東西?後來看了下書,發現還有很多的高階部分。連續看了兩天,把裝飾符 看了下,記錄下。裝飾符的作用就是類裡的方法變成屬性使用,比直接呼叫方法要直接簡單 直接上...