问题标签 [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.
mobile - 如何连接各种 Symbian 描述符
我在使用 Symbian 描述符时遇到了一些困难。我基本上想将各种描述符合并成一个更大的描述符,也许将它们放入一个 RBuf。此外,程序运行的每种类型的数据长度都会发生变化,下面是我一直在玩但无法构建的一些骨架代码。
正如您从评论中看到的那样,我无法正确弄清楚如何转换描述符并将其添加到缓冲区。提前致谢。
python - 如何从类对象中区分python非类对象
我是 python 新手。我认为非类对象没有bases属性,而类对象确实有它。但我不确定。python\cpython 如何检查对象是非类还是类,并在属性访问期间将正确的参数相应地传递给对象的描述符属性?
============================================
更新:
我正在学习如何__getattribute__
和描述符一起合作以创建有界方法。我想知道类对象和非类对象如何以__get__
不同的方式调用描述符。我认为这两种类型的对象共享相同的__getattribute__
CPython 函数,并且相同的函数必须知道调用对象是类还是非类。但是我错了。这篇文章解释得很好:
http://docs.python.org/dev/howto/descriptor.html#functions-and-methods
所以类对象使用type.__getattribute__
而非类对象使用object.__getattribute__
。它们是不同的 CPython 函数。super还有第三个__getattribute__
CPython 实现。
但是,关于super one,上面的文章说:quote andquote
super() 返回的对象还有一个自定义的_getattribute _() 方法用于调用描述符。调用 super(B, obj).m() 在 obj._ class _._ mro _ 中搜索紧跟在 B 之后的基类 A,然后返回 A._ dict _['m']._ get _(obj,一个)。如果不是描述符,则返回 m 不变。如果不在字典中,m 将恢复为使用 object._ getattribute _() 进行搜索。
上面的说法似乎和我用 Python3.1 做的实验不相符。我看到的是,这对我来说是合理的:
super(B, obj).m ---> A.__dict__['m'].__get__(obj, type(obj))
objclass = 类型(obj)
super(B, objclass).m ---> A.__dict__['m'].__get__(None, objclass)
A从未传递给__get__
这对我来说是合理的,因为我相信objclass(而不是A)的 mro 链是m中需要的链,尤其是对于第二种情况。
我做错了什么吗?还是我没有正确理解?
jpa - jpa 调用只读复合表,但得到“异常描述:[CollectorInfo] 缺少描述符”
在 Spring 3 应用程序中,控制器调用 JpaCollectorManager 并调用 JpaCollectorInfoDao 以获取由 nativequery 定义的列表。该查询调用了 2 个使用 sql 和 jpql 的单独表,因为我需要使用 jpql 中未实现的 postgresql 功能。当控制器尝试归档列表时,我收到以下错误消息:
异常 [EclipseLink-6007] (Eclipse Persistence Services - 2.1.2.v20101206-r8635):org.eclipse.persistence.exceptions.QueryException 异常描述:缺少 [CollectorInfo] 的描述符。
查询:ReadAllQuery(referenceClass=CollectorInfo sql="select distinct ON (col.collector_id,pst.process_source_type) col.*,pst.process_source_timestamp,pst.process_source_type from perform_schema.collector col join perform_schema.process_set pst on pst.collector_id = col. collector_id order by col.collector_id, pst.process_source_type,pst.process_source_timestamp desc ")
控制器 Java 有以下调用:
JpaCollectorInfoManager.java 有这个:
JpaCollectorInfoDao.java:
CollectorInfo 类没有定义@Entity。如果我设置了 @Entity 定义,那么它告诉我无法解析表(这是正确的,因为没有实际的表)。我尝试了各种排列,似乎无法制作这条针线。
python - Python 2.6:如何访问派生类隐藏的基类描述符字段?
我有一个描述符将数据存储在主机对象的字典中。我在类层次结构中有这个描述符的字段具有相同的名称:
最后一行不起作用: super(B,b).f = 'a'
为什么得到作品而类似的集却没有?我可以用比 A. dict ['f'] 更优雅的方式设置 A 的 f。设置(b,'a')?
更正:
在我最初的帖子中给出的表格中,Af 评估为 A 的键名命名属性(缺失)或默认 8192 - 与它无关。这就是为什么我使用 A. dict ['f'] - 排除get调用。为了让 Af 被评估为所需的 ADescriptor 实例,需要进行少量修改:
在这种情况下A.f.__set__(b,'a')
有效。但是还是很丑!@BiggAl 提供的属性解决方案不适合我的需求 - 我需要将所有描述符包装在属性中。
bash - bash:如何重定向标准输入/标准错误,然后再恢复 fd?
我想要一个脚本来将标准输入和标准错误重定向到一个文件,做很多事情,然后撤消这些重定向并对文件内容采取行动。我正在努力:
这似乎做我想要的,但它似乎相当复杂。有没有更清洁/更清晰的方法来做到这一点?
python - 方法可以用作静态方法或实例方法吗?
我希望能够做到这一点:
这似乎是一个应该有一个简单解决方案的问题,但我想不出也找不到。
python - 我何时以及为什么可以将描述符类的实例分配给 Python 中的类属性而不是使用属性?
我知道一个属性是一个描述符,但是有没有具体的例子说明什么时候使用描述符类可能更有利,pythonic,或者比@property
在方法函数上使用提供一些好处?
python - Python中的静态方法和实例方法
我可以将 Python 方法同时定义为静态和实例吗?就像是:
这样我就可以同时调用它:
目的是能够运行两组逻辑。如果作为实例方法访问,它将使用实例变量并做一些事情。如果访问作为静态方法,则无需。
python - Python:为什么描述符不能是实例变量?
假设我定义了这个描述符:
我在这个中使用它:
类属性也是如此value
,并且由所有实例共享。
现在,如果我定义这个:
在这种情况下value
是一个实例属性并且不被实例共享。
为什么value
描述符何时只能是类属性,而value
简单整数何时成为实例属性?
python - 如何在 Python 类描述符对象上调用方法?
我创建了一个class String()
with __get__()
、__set__()
和一个方法to_db()
;但是,当我这样做时name = String()
,我不能这样做,self.name.to_db()
因为它调用to_db()
的是返回的值__get__()
,而不是对象“ name
”。
处理这个问题的一种方法是不self.name.to_db()
直接调用,而是设置一个标志instance
并创建一个条件__get__()
来检查它并调用to_db()
if it's True
,但这似乎很笨拙。有没有更好的办法?
另外,我是描述符的新手——使用instance
和/或instance.__dict__
存储状态与存储状态的优缺点是self
什么?