【发布时间】:2010-10-12 22:55:34
【问题描述】:
假设你有一个获取类型作为参数的python方法;是否可以确定给定类型是否为嵌套类?
例如。在这个例子中:
def show_type_info(t):
print t.__name__
# print outer class name (if any) ...
class SomeClass:
pass
class OuterClass:
class InnerClass:
pass
show_type_info(SomeClass)
show_type_info(OuterClass.InnerClass)
我希望对 show_type_info(OuterClass.InnerClass) 的调用也表明 InnerClass 是在 OuterClass 中定义的。
【问题讨论】:
-
self.__class__.__name__ 有什么问题?您获取这些信息的目的是什么?
-
@S.Lott:“self.__class__.__name__ 有什么问题”是什么意思?对不起,我不明白你的问题...
-
@orsogufo:什么是“错误”--不起作用--不合适--没有帮助--坏了--没有做你想做的--是格式不正确——self.__class__.__name__“错误”?这有点不对劲,但我不知道你不喜欢什么。请澄清。
-
“我想要做的是在不使用单独文件的情况下拥有相当于 c++ 命名空间”——这不是一个好方法。文件是一个很好的命名空间。使用它们。每个其他 Python 程序员都会这样做。
标签: python introspection inner-classes