我有嵌套类,因为它们紧密相关。
现在我想拥有以下类型的代码
class one(Some-other-type):
...
// More functions here
class two(one):
// Some more functions here.
内部类“两个”类型应该是“一个”但如果我把它我得到一个错误。 另一种方法是不要像下面那样嵌套
class one(Some-other-type):
...
// More functions here
class two(one):
// Some more functions here.
但是当我导入模块时,我不希望可以访问“2”类。 我并不真正关心“one”提供的功能,但为了清晰的代码,它需要在它下面。
有什么想法吗?
答案 0 :(得分:0)
在构建类时,您无法引用该类。但是,您可以在自己的方法中引用一个类,因为在构造的类之后才会对方法体进行求值。
class one(object):
@staticmethod
def get_two():
class two(one):
pass
return two()
def f(self):
print("I am %s" % type(self).__name__)
two
从f
one
>>> obj = one.get_two()
>>> obj.f()
"I am two"