【问题标题】:How to get class name from bound method using inspect? [duplicate]如何使用检查从绑定方法中获取类名? [复制]
【发布时间】:2016-05-16 16:27:45
【问题描述】:
class MyClass:
  def my_method(self):
    print(get_context())

MyClass().my_method()

我需要下一行:

MyClass::my_method

sys._getframe(2).f_code.co_name 只给我“my_method”。如何获得类名?

【问题讨论】:

    标签: python stack stack-trace classname inspect


    【解决方案1】:

    您可以通过从self 调用__class__.__name__ 来获取您的班级名称。

    class Foo(object):
        def bar(self):
            print(self.__class__.__name__)
    
    Foo().bar()
    

    输出: 福

    【讨论】:

    • 没有。 get_context() 函数不知道“self”
    • 你想做什么?你能控制那个方法吗?您可以将参数传递给该方法吗?您可以将“self”传递给该方法,并且您也将获得所需的信息?
    • 看看这个。我想这就是你要找的东西:stackoverflow.com/questions/17065086/…
    • 我自己从类中取出了B 方法,它起作用了。我相信应该就是这样。
    • 这对于使用简单语法的调试目的是必需的:例如:INFO_MSG("Hi!") >> MyClass::MyMethod INFO: Hi!谢谢!上面的答案对我有帮助。
    猜你喜欢
    • 2014-09-04
    • 2013-04-02
    • 2012-12-15
    • 2016-09-17
    • 2016-03-20
    • 2013-09-29
    • 2018-07-12
    • 2012-07-27
    • 2011-03-06
    相关资源
    最近更新 更多