內建的Attr系列

2022-08-10 18:09:16 字數 1314 閱讀 7029

attr包含三個函式

getattr,setattr,delattr

setattr:新增/修改屬性會觸發它的執行

delattr:刪除屬性的時候會觸發

getattr:只有在使用點屬性且屬性不存在的時候才會觸發

class student:

def __init__(self,name,age,classroom):

self.name =name

self.age=age

self.classroom =classroom

def __getattr__(self, item):

print("我沒找到這個屬性%s"%item)

def __setattr__(self, key, value):

print("我需要為變數%s設定這個值%s,但是利用的是__dict__字典"%(key,value))

self.__dict__[key]=value

def __delattr__(self, item):

print("我需要刪除這個屬性拉%s,利用的也是self__dict__字典"%item)

self.__dict__.pop(item,"找到這個屬性,沒法刪除拉")

s1 = student("grace",20,102) #例項化物件,

print(s1.age) #呼叫age屬性

print(s1.ge) #呼叫ge屬性

s1.num = 87 #新增乙個num屬性冰賦值為87

print(s1.num) #呼叫s1.num,檢視結果

del s1.num #刪除s1的num屬性

print(s1.num) #檢視呼叫s1的num屬性

執行結果

我需要為變數name設定這個值grace,但是利用的是__dict__字典

我需要為變數age設定這個值20,但是利用的是__dict__字典

我需要為變數classroom設定這個值102,但是利用的是__dict__字典

20我沒找到這個屬性ge

none

我需要為變數num設定這個值87,但是利用的是__dict__字典

87我需要刪除這個屬性拉num,利用的也是self__dict__字典

我沒找到這個屬性num

none

類的內建attr屬性

class foo x 1 definit self,y self.y y def getattr name print getattr 執行 def delattr self,item print delattr 執行 def setattr self,key,value self.key val...

Jquery系列 prop和attr區別

問題描述 由於prop property的縮寫 和attr attribute的縮寫 翻譯成漢語,均有 特性 屬性 等意思的原因,導致大家容易混淆分不清,本篇文章將試圖從英文含義,中文含義和jquery含義三個方面,徹底將它們區分開來。1 內容區 1.1 在英文中的理解 1 atrr attr是at...

jQuery中attr 的使用

用法一 選擇器 attr 屬性名 它的作用就是獲取指定元素 選擇器 部分 的指定屬性的值.看例子 有這樣一段html 那麼你要獲取到的位址該怎麼辦呢?這樣 img attr src 就這麼簡單,你用alert或者其它形式輸出一下就看到的位址了.那麼我要取得的描述呢?這樣 img attr alt 夠...