Tag: 自省

如何内省django模型领域?

我试图获取模型中的字段的类信息,当我只知道字段的名称和模型的名称(都是纯string)。 这怎么可能? 我可以dynamic加载模型: from django.db import models model = models.get_model('myapp','mymodel') 现在我有场 – 'myfield' – 我怎样才能得到这个领域的课程? 如果该领域是关系 – 如何获得相关领域? 谢谢一堆!

为什么Ruby使用respond_to? 而不是responds_to?

我很好奇为什么Ruby的内省相关的方法来检查一个对象是否响应方法是respond_to? 而不是responds_to? 它总是看起来很尴尬,但也许这是因为我习惯了objective-c中的respondsToSelector 。

你如何获得在模块中定义的所有类,但没有导入?

我已经看到了下面的问题,但是它并没有让我想到我想要的地方: 我如何获得Python中当前模块中的所有类的列表? 特别是,我不想要导入的类,例如,如果我有以下模块: from my.namespace import MyBaseClass from somewhere.else import SomeOtherClass class NewClass(MyBaseClass): pass class AnotherClass(MyBaseClass): pass class YetAnotherClass(MyBaseClass): pass 如果我使用clsmembers = inspect.getmembers(sys.modules[__name__], inspect.isclass)就像链接问题中的接受答案所示,除了在此模块中定义的3之外,它还会返回MyBaseClass和SomeOtherClass 。 我怎样才能得到NewClass , AnotherClass和YetAnotherClass ?

如何检查一个variables是否是一个类的实例?

在Java中,你可以做instanceof 。 有一个Ruby的等价物吗?

什么是C#相当于Java的isInstance()?

我知道is和为instanceof ,但reflectionisInstance()方法呢?

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

给定一个Foo类(不pipe它是否是新式类),如何生成所有的基类 – inheritance层次结构中的任何地方 – 它的issubclass ?

获取Python中的所有对象属性?

有没有办法获得所有的属性/方法/字段/等。 Python中的对象? vars() 接近我想要的,但它不工作,除非对象有一个__dict__ ,这并不总是真实的(例如,它不是真正的list , dict等)。

在Python中获取实例的类名

我如何find在Python中创build对象的实例的类的名称,如果我这样做的函数是派生实例的类的基类? 在想,也许检查模块可能帮助我在这里,但它似乎并没有给我我想要的。 并没有parsing__class__成员,我不知道如何得到这个信息。

获取属性名称作为string

我需要一种方式来传递一个属性,并获得分配给它的名称。 有什么build议么? @property (nonatomic, retain) MyObject *crazyObject; NSString *str = SOME_WAY_TO_GET_PROPERTY_NAME(crazyObject); // Above method should return @"crazyObject"

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

有没有一种简单的方法来find所有的模块是Python包的一部分? 我发现了这个老的讨论 ,这并不是真正的结论,但是我很想在我推出基于os.listdir()的解决scheme之前有一个明确的答案。