可用__setattr__()和__getattr__()方法實現。前者只處理程式訪問指定屬性且此屬性不存在的情形,後者是只要程式試圖對指定屬性賦值時總會觸發該方法。
class user:
def __init__(self,name,age):
self.name=name
self.age=age
def __setattr__(self,name,value):
if name=='name':
if len(value)>8:
self.__dict__['name']=value
else:
raise valueerror('name長度錯誤')
u=user('hello',2019)
u.name='aha'#引發異常
也可以用@property裝飾器來修飾方法,使之成為屬性。
class cell:
@property
def state(self):
return self._state
@state.setter
def state(self,value):
if len(value)>4:
self._state=value
else:
self._state='aaa'
c=cell()
c.state='nande'
print(c.state)
獨孤尚良dugushangliang——著 PB資料視窗物件之字段的修改屬性
資料視窗只能修改乙個資料表。當資料視窗的資料 於不止乙個資料表時,可以用指令碼控制資料視窗的修改屬性來對資料表逐個進行修改。當資料視窗是用來接受使用者的手工錄入資料時,應該設定兩方面的屬性才能確保資料視窗能夠用來修改資料表。乙個是修改資料視窗的修改屬性,另乙個是使用者可以修改的字段的相關屬性值 資料...
python類的屬性
一 介紹 1 在python中,如果屬性是以雙下劃線開始的,則該屬性是私有屬性。2 如果在類內部使用私有屬性,則應該在私有屬性前加上 self.二 示例 class book author name page 0 price 0 press a book a.author traceback mos...
python 類的屬性
class person 類屬性,通過類名訪問,屬於整個類,而不是某個物件 nation 中國 限制可以使用的屬性,提高訪問的效率 也可以提高訪問速度,減少記憶體使用 slots name age nation def init self,name self.name name self.natio...