问题标签 [introspection]
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.
python - 从堆栈帧中检索模块对象
给定一个框架对象,我需要获取相应的模块对象。换句话说,实现 callers_module 这样就可以了:
(这将是等效的,因为我可以在此测试用例的函数中生成堆栈跟踪。导入只是为了使该示例完整且可测试,并防止 callers_module 采用使用 __name__ 的快捷方式,因为它位于不同的模块中.)
我试过这个:
它得到一个框架对象,f_code 会给我一个代码对象,但我不知道如何获取相应的模块或其名称(与 sys.modules 一起使用)。如果我能得到函数对象,那些有一个 __module__ 属性(也有代码对象),但它不存在于框架中。确实,并非所有代码对象都属于函数对象,例如我的测试用例的代码(上面带有断言)。对于没有模块的框架/代码对象也可以这样说——但它们中的许多都有,而且在我的情况下它们会,所以不需要处理;但是,在这种情况下,一个简单的 None 或异常也可以。
感觉就像我错过了一些简单的东西。为此需要做什么?
java - Java内省和反射
任何人都可以解释Java反射和内省的使用吗?当我们需要同时使用两者时?
python - 获取函数内部的 kwargs
如果我有一个像这样的python函数:
有没有办法确定函数内部通过关键字传递了哪些参数?
编辑
对于那些问我为什么需要这个的人,我没有真正的理由,它是在一次谈话中出现的,我的好奇心占了上风。
objective-c - 获取 Objective-C 类或实例的所有方法
在 Objective-C 中,我可以测试给定的类或实例是否响应某些选择器。但是如何查询一个类或实例的所有方法或类的属性(例如,所有方法或属性的列表)?
python - 如何检查对象是否是命名元组的实例?
如何检查对象是否是Named tuple的实例?
python - 在给定完整模块路径的情况下动态导入可调用对象?
最简单的编写方法是什么import_path
(在 Python 2.6 及更高版本中)?假设最后一个组件始终是模块/包中的可调用组件。
python - Python:如何从“框架”对象中检索类信息?
是否可以从框架对象中检索任何类信息?我知道如何获取文件 (frame.f_code.co_filename)、函数 (frame.f_code.co_name) 和行号 (frame.f_lineno),但也希望能够获取活动对象的类的名称框架的实例(如果不在实例中,则为无)。
java - 如何确定需要从 java 库中导入的命名空间?
我正在编写一些 clojure 代码,并且我依靠 Joda 时间来处理时间。问题是我不知道要导入什么,文档也不是很清楚。现在我知道这里有人可能会在不到 5 秒的时间内给我正确的答案,但我宁愿知道如何自己解决这个问题(除了翻阅文档直到找到正确答案)。
如果我在 Python 中执行此操作,我将导入顶级包并使用 和 的组合dir
来help
确定我需要导入的内容。有没有办法在clojure中做到这一点?或者有没有其他类型的java工具来解决这个问题?我更喜欢面向命令行的东西。
sql - Newb SQL 问题:是否存在用于引用列的“外键”等效项,或者将列名作为字符串存储在另一个表中是否合乎逻辑?
免责声明:我是一个 SQL 新手,刚刚发现 sqlite 嵌入应用程序的巨大可能性。
我正在为一个主要处理用于绘图的数据存储的应用程序设计一个小型数据库。假设我有几个仪器数据表(每种仪器一个),每个数据字段都有一个列,例如压力、温度、湿度等。我想加入这些数据表,提取列名,然后分配一个更易于阅读的列“描述”可供用户选择用于绘图的自变量/因变量。在 sqlite 中获取列名很容易,但我不确定是否应该将生成的名称(和更长的描述)存储为数据库中的另一个表或应用程序中的某种列表。如果它是数据库中的另一个表,我想我必须将列名存储为字符串......除非有某种方法可以引用 SQL 中的列?我'
感谢您的任何建议,堆栈溢出。
python - 如何使用 Python 中的方法引用方法名称?
假设我使用该方法定义了以下类foo
:
现在,当我打电话时,foo()
我希望/希望看到这个打印出来
但是我得到
如果我要将类定义放入一个名为的模块中,FooBar
我会得到
但是,如果我这样做
我得到了我想要的
有人可以帮忙解释为什么__name__
指的是模块而不是方法名称吗?有没有一种简单的方法来获取方法名称?
非常感谢