python類修改屬性的判斷校驗

2021-09-25 05:45:19 字數 796 閱讀 5821

可用__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...