python property 私有屬性

2021-09-24 19:30:34 字數 1300 閱讀 2578

'''

加有 __變數名 的私有屬性直接訪問不了,用get... 和set... 方法,提供個介面進行訪問。

property的使用:

私有屬性,用來簡化訪問私有屬性,提供開放性介面,共外界訪問

'''class

student()

:def

__init__

(self,name,age)

: self.name = name

self.__age = age

defget_age

(self)

:return self.__age

defset_age

(self,age):if

isinstance

(age,

int)

: self.__age = age

else

:raise typeerror(

"資料有誤"

) age =

property

(get_age,set_age)

s1 = student(

"huangpu",18

)s1.set_age(19)

s1.get_age(

)print

(s1.get_age())

print

(s1.age)

使用property取代get和set方法

get方法在前,set方法在後

學名:裝飾器

@property

@money.setter

class

money()

:def

__init__

(self)

: self.__money =

0 @property

defmoney

(self)

:return self.__money

@money.setter

defmoney

(self, money):if

isinstance

(money,

int)

: self.__money = money

else

:raise exception(

"金錢型別有誤"

)m = money(

)m.money =

100print

(m.money)

python property動態屬性方法記錄。

student.get age 如下。from datetime import date,datetime class students def init self,name,birthday self.name name self.birthday birthday defget age self...

Python property裝飾器詳解

屬性的分類 1 例項屬性 最好在 init self,中初始化 內部呼叫時都需要加上self.外部呼叫時用instancename.propertyname 2 類屬性 在 init 外初始化 在內部用classname.類屬性名呼叫 外部既可以用classname.類屬性名又可以用instance...

python property 的詳細使用方法

property 有兩種使用方式裝飾器方式 官方幫助文件 property fget none,fset none,fdel none,doc none property attribute decorators make defining new properties or modifying e...