'''
加有 __變數名 的私有屬性直接訪問不了,用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...