descriptor相关内容
我有一个具有不同数据类型字段的结构。我想遍历结构字段,检查数据类型,并将字段设置为适当的值。 我可以通过以下方式访问字段的大小和偏移量字段的.size和.offset属性。如何获得该字段的“类型”属性?使用 type(value)不会打印特定字段的ctypes数据类型。如果我打印值,那么我确实看到了ctypes数据类型,但是似乎没有直接访问它的属性。 如何我直接访问类型字段描述符吗?
..
我试图用Google搜索它。为什么非数据描述符可以与旧式类一起使用? 医生说他们不应该这样: “ 请注意,描述符仅针对新样式对象或类(子类 object()或 type())。”。 类描述符(对象): def __init __(self): self.x = 1 def __get __(self,obj,cls = None): return self.x
..
我正在基于Google提供的Gatt示例项目开发BLE应用程序: https://developer.android.com/samples/BluetoothLeGatt/index.html .因此,我可以成功地发送写入特征的数据.现在,我需要知道该特征何时更改其值. DeviceActivity private void displayGattServices(List
..
我知道obj.__dict__中的__dict__是type(obj)的描述符属性,因此对obj.__dict__的查找是type(obj).__dict__['__dict__'].__get__(obj). 来自 https://stackoverflow.com/a/46576009 很容易说__dict__必须是一个描述符,因为 将其实现为__dict__条目将需要您找到 __
..
我可以同时将Python方法定义为静态方法和实例方法吗?像这样: class C(object): @staticmethod def a(self, arg1): if self: blah blah 这样我就可以同时使用它: C.a(arg1) C().a(arg1) 目的是能够运行两组逻辑.如果作为实
..
我希望能够做到这一点: class A(object): @staticandinstancemethod def B(self=None, x, y): print self is None and "static" or "instance" A.B(1,2) A().B(1,2) 这似乎是一个问题,应该有一个简单的解决方案,但我想不出或找到一个解决
..
python 3.3文档告诉我直接访问属性描述符应该是可能的,尽管我对其语法x.__get__(a)持怀疑态度.但是我在下面构造的示例失败了.我想念什么吗? class MyDescriptor(object): """Descriptor""" def __get__(self, instance, owner): print "hello"
..
在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
..
我正在学习python中的描述符.我想编写一个非数据描述符,但是将描述符作为其类方法的类在调用类方法时不会调用__get__特殊方法.这是我的示例(没有__set__): class D(object): "The Descriptor" def __init__(self, x = 1395): self.x = x def __get__(s
..
根据 Python的文档, 定义了__set__()和__get__()的数据描述符始终会覆盖实例字典中的重定义. 我很理解这句话,但是有人可以为我澄清为什么有这样的规则吗?毕竟,如果要覆盖实例字典中的属性,我已经需要明确地做到这一点,因为朴素的inst.attr = val会调用描述符的__set__方法, (通常)不会覆盖实例字典中的属性. 编辑:为了清楚起见,我了解发生了什
..
__slots__ 如何在Python中实现? 这是否显示在 C接口? 如何通过 解决方案 创建Python类时,默认情况下它们具有__dict__,您可以在它们上设置任何属性.插槽的重点是不创建__dict__来节省空间. 相反,在C接口中,扩展类默认情况下没有__dict__,而您必须显式地添加一个扩展类并添加getattr/setattr支持来处理它(尽管幸运的是,有一些方法可
..
问题是指在哪个用例中使用哪个更可取,而不是技术背景. 在python中,您可以通过属性,描述符或魔术方法来控制属性的访问.在哪种用例中,哪个是最pythonic的?它们似乎都具有相同的效果(请参见下面的示例). 我正在寻找这样的答案: 属性:如果出现…… 描述符:对于……,应使用它而不是属性. 魔术方法:仅在...时使用. 示例 用例将是可能无法在__init__
..
OpenCV的文档在DescriptorMatcher中提到了函数"train()". “虚空cv :: cuda :: DescriptorMatcher :: train() 纯虚拟的 训练描述符匹配器. 训练描述符匹配器(例如,flann索引).在所有匹配方法中,train()方法每次都在匹配之前运行."(docs) 仅此而已.有人知道热门功能吗?特别是Descri
..
我知道,如果您想将方法添加到类实例中,您将无法像这样进行简单的分配: >>> def print_var(self): # method to be added print(self.var) >>> class MyClass: var = 5 >>> c = MyClass() >>> c.print_var = print_var 这确实会导致pri
..
我试图动态生成一些类定义(用于包装C ++扩展).以下描述符工作正常,除了当我尝试使用help()访问字段的文档字符串时,它为描述符提供了默认文档,而不是其自身的字段.但是,当我执行help(classname)时,它会检索传递给描述符的docstring: class FieldDescriptor(object): def __init__(self, name, doc='No
..
我大约有20种方法可以重定向到采用原始方法的包装器方法,其余参数则为 class my_socket(parent): def _in(self, method, *args, **kwargs): # do funky stuff def recv(self, *args, **kwargs): return self._in(super
..
我正在尝试为将记住结果的类的实例方法构建一个装饰器. (这已经完成了一百万次了)但是,我希望可以在任何时候重置已记忆的缓存(例如,如果实例状态中的某些内容发生了更改,这可能会更改没有任何内容的方法的结果)与它的args有关).因此,我尝试将装饰器构建为类而不是函数,以使我可以作为类成员访问缓存.这使我走下了学习描述符的道路,特别是__get__方法,这是我真正遇到的问题.我的代码如下所示:
..
例如,它是Jikes RVM堆栈的一部分。 at [0x70cfba90,0x708cfaa4] Lorg / apache / lucene / index / SegmentInfos; **访问$ 000 **(Ljava / lang / String;)V at [0x70cfbb04,0x708b55c8] Lorg / apache / lucene / index
..
我正在将我的一些类别从大量使用getter和setter变为更加pythonic使用的属性。 但现在我被卡住了因为一些我之前的getter或setter会调用基类的相应方法,然后执行其他操作。但是如何通过属性实现这一目标呢?如何在父类中调用属性getter或setter? 当然,调用属性本身会产生无限递归。 class Foo(object): @property d
..
我正在尝试使用opencv和python。我在opencv 2.4的C ++版本中编写了一个描述符(SIFT,SURF或ORB)匹配代码。我想用python将此代码转换为opencv。我找到了一些关于如何在c ++中使用opencv函数的文档,但是python中的许多opencv函数我都找不到如何使用它们。这是我的python代码,我目前的问题是我不知道如何在python中使用opencv c +
..