gpt4 book ai didi

类主体中类的 Python 名称

转载 作者:太空狗 更新时间:2023-10-29 20:20:42 24 4
gpt4 key购买 nike

是否可以在类定义的主体中获取类名?

例如,

class Foo():
x = magic() # x should now be 'Foo'

我知道我可以使用类方法在类主体之外静态地执行此操作:

class Bar():
@classmethod
def magic(cls):
print cls.__name__

Bar.magic()

但这不是我想要的,我想要类(class)主体中的类(class)名称

最佳答案

好的 - 还有一个解决方案 - 这个实际上没那么复杂!

import traceback

def magic():
return traceback.extract_stack()[-2][2]

class Something(object):
print magic()

它将打印出“Something”。我不确定提取的堆栈格式是否以任何方式标准化,但它适用于 python 2.6(以及 2.7 和 3.1)

关于类主体中类的 Python 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6710904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com