亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2499 | 回復: 6
打印 上一主題 下一主題

求高人詳解一下python類中的 descriptor機制 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-05-26 15:59 |只看該作者 |倒序瀏覽
如題,請達人來分享下自己的見解~

論壇徽章:
0
2 [報告]
發(fā)表于 2011-05-26 16:59 |只看該作者

論壇徽章:
0
3 [報告]
發(fā)表于 2011-05-26 17:07 |只看該作者
感謝樓上,不過我已經找到了
http://users.rcn.com/python/download/Descriptor.htm
還是這個講解的不錯

論壇徽章:
0
4 [報告]
發(fā)表于 2011-05-26 17:19 |只看該作者
回復 3# ccporxy
感謝樓上,不過我已經找到了

還是這個講解的不錯
ccporxy 發(fā)表于 2011-05-26 17:07

這個太老了,2.6開始可以使用裝飾器語法,這里沒有。

論壇徽章:
0
5 [報告]
發(fā)表于 2011-05-26 17:24 |只看該作者
本帖最后由 ccporxy 于 2011-05-26 17:30 編輯

是很老但是講的很深入, 裝飾器用的技巧和descriptor是不同的

@func
def fun():
    pass

@staticmethod
def fun():
    pass
class A(object):
    @classmethod
    def fun(cls,*args,**kwargs):
        pass

裝飾性使用的技巧是閉包,是面向函數的實現。
而descriptor主要是為了類而使用的技巧

論壇徽章:
0
6 [報告]
發(fā)表于 2011-05-26 17:35 |只看該作者
回復 5# ccporxy
考   風馬牛不相及嘛。
我是說實現描述符2.6之前要么自己定義  __get__, __set__要么用property寫成這樣x = property(getx, setx, delx, "I'm the 'x' property.")。
2.6開始你可以用裝飾器的語法來寫property,看起來比較酷。
  1. class C(object):
  2.     def __init__(self):
  3.         self._x = None
  4.     @property
  5.     def x(self):
  6.         """I'm the 'x' property."""
  7.         return self._x
  8.     @x.setter
  9.     def x(self, value):
  10.         self._x = value
  11.     @x.deleter
  12.     def x(self):
  13.         del self._x
復制代碼

論壇徽章:
0
7 [報告]
發(fā)表于 2011-05-26 23:50 |只看該作者
呵呵,裝飾器是decorator...
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP