Chinaunix

标题: 如何修改这个类让它实例化 [打印本页]

作者: luofeiyu_cu    时间: 2014-08-22 14:05
标题: 如何修改这个类让它实例化
>>> class simpleDescriptor(object):
...     def __get__(self,obj,type=None) :
...         return "get",self,obj,type
...     def __set__(self,obj,type=None) :
...         print("haha")
...     def __del__(self,obj,type=None) :
...         pass
...
>>> x=simpleDescriptor()
Exception ignored in: <bound method simpleDescriptor.__del__ of <__main__.simple
Descriptor object at 0x000000000297BEB8>>
TypeError: __del__() missing 1 required positional argument: 'obj'


如何修改这个类让它实例化
作者: lizhihui_kevin    时间: 2014-09-16 14:51
问的是这个吗????

  1. class SimpleDescriptor(object):

  2.     def __init__(self, name, sex, age):
  3.         self.name = name
  4.         self.sex = sex
  5.         self.age = age

  6.     def __get__(self, instance, owner):
  7.         return eval('.'.join(['self', instance]))

  8.     def __set__(self, instance, value):
  9.         self.instance = value

  10.     def __del__(self):
  11.         del self
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2