问题标签 [descriptor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
155020 浏览

python - 了解 __get__ 和 __set__ 以及 Python 描述符

试图了解 Python 的描述符是什么以及它们有什么用处。我了解它们的工作原理,但这是我的疑问。考虑以下代码:

  1. 为什么我需要描述符类?

  2. 什么是instanceowner这里?(在__get__)。这些参数的目的是什么?

  3. 我将如何调用/使用这个例子?

0 投票
2 回答
272 浏览

python - 自动检测传递给它的另一个属性的名称的描述符?

描述符可以自动检测传递给它的对象的名称吗?

0 投票
1 回答
1709 浏览

c++ - BGL:如何有效地存储 edge_descriptors 和 vertex_descriptors?

因此,在解决了我与 BGL 的循环依赖问题后,我遇到了另一个障碍。

我目前正在使用邻接列表来建模我的图。节点和边的捆绑属性用于在图中存储一些信息。所以我有这样的事情:

当我想在我的代码中的其他地方存储特定节点和边缘的快捷方式(例如,对于有多个车道的街道)时,就会出现问题。我的第一种方法是将 edge_descriptors 和 vertex_descriptors 保存在我需要的地方。但我想知道这样的描述符会有多大(以字节计)。也许有更好的解决方案,例如只存储一小部分信息以获得相同的结果。

有谁知道用于这种类型的向量的内存量:

我已经考虑过只存储指向 edge_descriptors 的指针,但我不知道这是否以及如何工作。

///////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////// ///////////////

编辑:既然我的第一个问题已经得到彻底回答,我仍然想知道一件事。我想为我的图形类构建某种接口。该接口应将图形类详细信息与必须不知道图形详细信息的其他类分开。因此,其他类最好将节点和边识别为数字。所以我想出了两个想法:

  1. 我使用 hash_mapstd::tr1::unordered_map<int, edge_descriptor>能够将数字转换为描述符,然后再将其用作我的图形对象的索引。这可能是一步到位 - 如果有足够的节点和边要计算,那么哈希值的计算可能会花费太多时间。这就是为什么我有了第二个想法。
  2. 图本身应在内部将这些数字转换为边和节点。我知道内部属性和属性映射可以用来实现我的想法。然后,您只需键入以下内容即可访问节点:
    boost::property_map<My_Graph, my_prop>::type index = get(my_prop(), G);

但是有没有办法将这些属性映射与我的捆绑属性结合起来?

或者你还有其他我没有想到的想法吗?

0 投票
3 回答
5971 浏览

python - python 可重置实例方法记忆装饰器

我正在尝试为将记住结果的类的实例方法构建一个装饰器。(这已经做过一百万次了)但是,我希望能够在任何时候重置记忆缓存的选项(例如,如果实例状态中的某些内容发生了变化,这可能会改变方法的结果没有任何内容与它的参数有关)。因此,我尝试将装饰器构建为类而不是函数,以便我可以作为类成员访问缓存。这使我走上了学习描述符的道路,特别是__get__方法,这是我真正陷入困境的地方。我的代码如下所示:

这清楚和/或可能吗?每次__get__调用时,我都会得到一个全新的记忆类实例,它会丢失包含实际数据的缓存。我一直在努力工作__get__,但没有取得太大进展。

是否有一个完全独立的方法来解决我完全遗漏的这个问题?欢迎和赞赏所有建议/建议。谢谢。

0 投票
2 回答
2030 浏览

python - python protobufs - 避免安装步骤?

我正在编写一个小型 python 实用程序,它将被中等非技术用户使用,并且需要与一些 protobufs 进行接口。

理想情况下,我希望在本地机器上使用它的唯一先决条件是:

安装了python

我在导入descriptor_pb2.py时遇到了麻烦。我已经看到为什么我在使用 Google 协议缓冲区时看到“无法导入名称描述符_pb2”错误?,但希望避免添加运行 proto SDK 安装程序的额外先决条件。我已经修改了 bash 脚本以在本地层次结构中生成 descriptor_pb2.py,它适用于从我的其他 _pb2.py 文件导入的第一级,但看起来 descriptor_pb2.py 本身试图导入描述符_pb2 找不到它:

我的本地文件夹如下所示:

另外,我是 python n00b,所以我可能忽略了一些明显的东西。

蒂亚,猎户座

0 投票
3 回答
3222 浏览

python - 使用带有插槽的 Python 描述符

我希望能够在具有插槽优化的类中使用 python 描述符:

我遇到的问题是如何实现描述符类,以便能够将值存储在调用描述符对象的类实例中。通常的解决方案类似于下面的解决方案,但由于在 C 类中调用“slots”时不再定义“dict”,因此无法正常工作:

0 投票
1 回答
6729 浏览

native - EclipseLink (JPA 2) 缺少描述符异常

我在 Netbeans 6.9.1 中针对 Oracle 11g 使用 EclipseLink (JPA 2) 时遇到问题。尝试运行本机查询时,我不断收到以下错误:

他是代码:

尽管检查了我有一个有效的实体类,但我不知道为什么会失败。预先感谢您的协助。

克里斯

0 投票
2 回答
2184 浏览

python - 使用 getattr 将方法包装在描述符中

我有以下描述符,它在@saveconfig调用带有注释的方法后将配置保存在我的类中:

它是这样使用的:

它工作正常。现在我想通过使用 getattr 来获得修饰的方法。但是由于该方法是由描述符包装的,所以我只能得到wrapper

如何getip使用 getattr 访问包装的方法,以便能够通过它的名称调用它?(当然我不能直接访问该方法,否则我不必这样做)。

补充说明:

该脚本是从命令行调用的。我必须将命令行参数(字符串)映射到同名的方法才能调用它。此外,我必须将命令行中的任何其他参数映射到方法的参数,如下所示:

由于我无法获得原始方法,因此我不知道映射它们需要多少参数。我有几个这样装饰的方法,因为我想将保存配置的横切关注点移出 pbtools 类中的方法。

0 投票
1 回答
1483 浏览

python - __slots__ 在 Python 中是如何实现的?

  • __slots__在 Python 中是如何实现的?
  • 这是否暴露在C 接口中?
  • __slots__在 C via 中定义 Python 类时如何获得行为PyTypeObject
0 投票
1 回答
217 浏览

c++ - symbian C++ 描述符类

为什么我们不能实例化描述符基类(TDesc)???