文章詳情頁
python - object.__setattr__和直接設(shè)置屬性有什么不同嗎?
瀏覽:101日期:2022-09-18 17:58:49
問題描述
在werkzeug中有這樣的定義:
class Local(object): __slots__ = (’__storage__’, ’__ident_func__’) def __init__(self):object.__setattr__(self, ’__storage__’, {})object.__setattr__(self, ’__ident_func__’, get_ident)
此處的__init__方法里,使用self.__storage__ = {}的話是否效果一樣呢?
問題解答
回答1:效果其實是一樣的。比如object.a = 1最終也是調(diào)用self.__setattr__(’a’, 1);只不過你自己重寫父類(object)的__setattr__方法時,可以加上自己定義的一些規(guī)則,比如:
def __setattr__(self, name, value): if name == ’xxx’:print ’Hi, I can’t do it.’ else:super(Local, self).__setattr__(name, value)
相關(guān)文章:
1. javascript - 下面的這段算法代碼求解釋2. javascript - 在top.jsp點擊退出按鈕后,right.jsp進(jìn)行頁面跳轉(zhuǎn),跳轉(zhuǎn)到login.jsp3. javascript - js 有什么優(yōu)雅的辦法實現(xiàn)在同時打開的兩個標(biāo)簽頁間相互通信?4. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點5. css3 - 在sublime text里, 如何讓emmet生成的帶前綴css屬性垂直對齊?6. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問?7. javascript - 回調(diào)函數(shù)和閉包的關(guān)系8. java - spring-data Jpa 不需要執(zhí)行save 語句,Set字段就可以自動執(zhí)行保存的方法?求解9. [前端求職必看]前端開發(fā)面試題與答案精選_擴(kuò)展問題10. 想找個php大神仿個網(wǎng)站。
排行榜

熱門標(biāo)簽