标签: introspection

如何在被调用的方法中获取调用者的方法名称?

Python:如何在被调用的方法中获取调用者的方法名?

假设我有两种方法:

def method1(self):
    ...
    a = A.method2()

def method2(self):
    ...
Run Code Online (Sandbox Code Playgroud)

如果我不想对method1进行任何更改,如何在method2中获取调用者的名称(在此示例中,名称为method1)?

python introspection

166
推荐指数
6
解决办法
11万
查看次数

列出给定类层次结构中的所有基类?

给定一个类Foo(无论它是否是一个类),如何生成所有基类 - 在继承层次结构中的任何位置 - 它issubclass

python oop inheritance class introspection

123
推荐指数
6
解决办法
6万
查看次数

如果我不知道名字,我该如何访问javascript对象的属性?

假设你有一个像这样的javascript对象:

var data = { foo: 'bar', baz: 'quux' };
Run Code Online (Sandbox Code Playgroud)

您可以通过属性名称访问属性:

var foo = data.foo;
var baz = data["baz"];
Run Code Online (Sandbox Code Playgroud)

但是,如果您不知道属性的名称,是否可以获取这些值?这些属性的无序性质是否使它们无法区分?

在我的情况下,我特别想到一个函数需要接受一系列名称 - 值对的情况,但属性的名称可能会改变.

到目前为止,我对如何执行此操作的想法是将属性的名称与数据一起传递给函数,但这感觉就像一个黑客.如果可能的话,我宁愿用内省来做这件事.

javascript iteration properties introspection object

120
推荐指数
3
解决办法
22万
查看次数

Python:斜杠在help()输出中意味着什么?

在关闭括号之前/,Python 3.4的help输出意味着什么range

>>> help(range)
Help on class range in module builtins:

class range(object)
 |  range(stop) -> range object
 |  range(start, stop[, step]) -> range object
 |  
 |  Return a virtual sequence of numbers from start to stop by step.
 |  
 |  Methods defined here:
 |  
 |  __contains__(self, key, /)
 |      Return key in self.
 |  
 |  __eq__(self, value, /)
 |      Return self==value.

                                        ...
Run Code Online (Sandbox Code Playgroud)

python introspection python-3.x

119
推荐指数
3
解决办法
2万
查看次数

使用Java Reflection检索继承的属性名称/值

我有一个Java对象'ChildObj',它从'ParentObj'扩展而来.现在,如果可以使用Java反射机制检索ChildObj的所有属性名称和值,包括继承的属性?

Class.getFields为我提供了公共属性数组,Class.getDeclaredFields为我提供了所有字段的数组,但它们都没有包含继承的字段列表.

有没有办法检索继承的属性呢?

java reflection introspection

118
推荐指数
7
解决办法
7万
查看次数

Swift类内省和泛型

我试图class使用泛型动态创建基于实例的类型,但是我遇到了类内省的困难.

以下是问题:

  • 是否有一个与Obj-C相当的Swift self.class
  • 有没有办法使用AnyClass结果实例化一个类NSClassFromString
  • 有没有办法AnyClass从通用参数中获取或以其他方式严格输入信息T?(类似于C#的typeof(T)语法)

introspection swift

118
推荐指数
5
解决办法
6万
查看次数

获取Objective-C中的对象属性列表

如何在Objective-C中获取给定对象属性的列表(以NSArray或的形式NSDictionary)?

想象一下以下场景:我已经定义了一个只扩展的父类NSObject,它将a NSString,a BOOL和一个NSData对象作为属性.然后我有几个扩展这个父类的类,每个类都添加了许多不同的属性.

有没有什么方法可以在类上实现一个遍历整个对象的实例方法,然后返回NSArray每个(子)类属性的一个,因为NSStrings不在父类上,所以我以后可以使用这些NSString对于KVC?

attributes properties class introspection objective-c

109
推荐指数
6
解决办法
6万
查看次数

在Django中获取模型的字段

给定一个Django模型,我试图列出它的所有字段.我已经看到了一些使用_meta模型属性执行此操作的示例,但是meta前面的下划线是否表示_meta属性是私有属性,不应该直接访问?...例如,因为_meta的布局将来可能会改变而不是一个稳定的API?

_meta是这个规则的例外吗?它是否稳定并且可以使用,或者它被认为是不好的做法?或者是否有函数或其他方法来反省模型的字段而不使用_meta属性?下面是一些链接的列表,显示了如何使用_meta属性执行此操作

任何建议都非常感谢.

django对象获取/设置字段

http://www.djangofoo.com/80/get-list-model-fields

如何反省django模型领域?

django introspection django-models metamodel

107
推荐指数
7
解决办法
9万
查看次数

你能列出一个函数收到的关键字参数吗?

我有一个字典,我需要传递键/值作为关键字参数..例如..

d_args = {'kw1': 'value1', 'kw2': 'value2'}
example(**d_args)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但是如果d_args dict中的值没有被example函数接受,它显然会死掉..比如说,如果示例函数定义为def example(kw2):

这是一个问题,因为我不控制生成d_argsexample函数..它们都来自外部模块,example只接受来自dict的一些关键字参数.

理想情况下我会这样做

parsed_kwargs = feedparser.parse(the_url)
valid_kwargs = get_valid_kwargs(parsed_kwargs, valid_for = PyRSS2Gen.RSS2)
PyRSS2Gen.RSS2(**valid_kwargs)
Run Code Online (Sandbox Code Playgroud)

我可能只是从有效的关键字参数列表中过滤掉dict,但我想知道:有没有办法以编程方式列出特定函数所需的关键字参数?

python arguments introspection

98
推荐指数
4
解决办法
5万
查看次数

列出属于python包的所有模块?

有没有一种直接的方法来查找属于python包的所有模块?我发现这个旧的讨论并不是真正的结论,但在推出基于os.listdir()的自己的解决方案之前,我希望得到明确的答案.

python module packages introspection python-import

96
推荐指数
2
解决办法
7万
查看次数