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

问的是这个吗????
class SimpleDescriptor(object):

    def __init__(self, name, sex, age):
      self.name = name
      self.sex = sex
      self.age = age

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

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

    def __del__(self):
      del self
页: [1]
查看完整版本: 如何修改这个类让它实例化