【问题标题】:get the name of the class which create object of specified class [duplicate]获取创建指定类的对象的类的名称[重复]
【发布时间】:2021-08-30 16:54:52
【问题描述】:
class a:
    @staticmethod
    def aa():
    # find class b name
    pass
 
class b:
    object = a()
        
b.object.aa()

我想在a 类的aa 方法中获取类b 的名称,因为aa 方法是静态方法,我不能在这里传递self 之类的参数。

【问题讨论】:

  • 嗨,有趣,也许getframeinfo 可能会有所帮助
  • 我会避免使用object,因为它是一个保留字。
  • 这个的用例是什么?为什么aa() 不将此作为显式参数?如果 aa 没有从类中调用怎么办?
  • @gold_cy 它不是从方法中调用的。
  • @BenY 这只是一个例子,我也不会称我的班级为 a :)

标签: python


【解决方案1】:

如果您正在处理堆栈帧(如谁调用该方法),我建议您阅读inspect 模块中提供的stack() 方法的文档。

【讨论】:

    猜你喜欢
    • 2013-06-08
    • 2017-08-22
    • 2010-09-24
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多