python-descriptors

    5热度

    2回答

    在Python 3 class A(object): attr = SomeDescriptor() ... def somewhere(self): # need to check is type of self.attr is SomeDescriptor() desc = self.__class__.__dict__[attr_name

    6热度

    1回答

    我想在返回代理对象的类上创建某种类型的描述符。代理对象在索引时检索对象的成员并将索引应用于它们。然后它返回总和。 例如, class NDArrayProxy: def __array__(self, dtype=None): retval = self[:] if dtype is not None: return retval.astype(d

    12热度

    5回答

    我经常发现我需要暂时分配一些成员变量,例如 old_x = c.x old_y = c.y # keep c.z unchanged c.x = new_x c.y = new_y do_something(c) c.x = old_x c.y = old_y ,但我想我可以简单的写 with c.x = new_x; c.y = new_y: do_someth

    0热度

    1回答

    考虑下面的情况下, ITEMLIST类: # filename: item_list.py # locators dictionary is intentionally placed outside `ItemList` class locators = { 'item_id': 'css=tr:nth-of-type({item_num}) .id', 'item_ti

    0热度

    1回答

    如何编写描述符,该描述符返回具有描述符并返回其他描述符对象的描述符?在下面的代码中,getattr中的__get__和__set__以不同实例作为参数被调用,但它引用了相同的对象。请告知如何通过附加测试。 一般来说,这应该是生成严格模式的JSON报告的帮手。它会生成结构,但这些值在结构节点中很常见。只有当我在一个类中有几个相同类型的类属性(ObjectField)时才会暴露这个问题。 class

    4热度

    1回答

    我想知道是否可以在子类中使用描述符的装饰器。 class Descriptor(): def __get__(self, instance_obj, objtype): raise Exception('ouch.') def decorate(self, f): print('decorate', f) return f class A

    3热度

    1回答

    我读了一些关于你可以用__set__而没有__get__描述符的事实。 它是如何工作的? 它算作数据描述符吗?它是一个非数据描述符吗? 这里是一个代码示例: class Desc: def __init__(self, name): self.name = name def __set__(self, inst, value): inst.__dict_

    2热度

    2回答

    我试图赶上使用decorator异常的cached_propertyhttps://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76 https://pypi.python.org/pypi/cached-property 我愿做如下简单的东西,但是这并不工作 from pprint import

    0热度

    1回答

    我知道__slots__做什么,它应该用于什么。 但是,我还没有找到一个全面的答案,如何使用__slots__创建的member描述符的下层机制的作品。 对象级别的值在哪里实际存储? 有没有办法改变这些值,而不直接属性访问描述符? (例如:上课时C有__dict__你可以做C.__dict__['key']代替C.key) 通过创建类似的类级别的描述可以在一个“扩展” __slots__对象定义的