我不知道如何获得输出"两个" 请帮助
class Main:
class main2():
def two(self):
print 'two'
def one(self):
pass
#self.main2.two()
boo = Main()
boo.one()
答案 0 :(得分:2)
因为two
是一个成员函数(作为第一个参数有一个self
)Main
类的实例可能需要一个内部类的实例作为成员:
class Main:
class main2():
def two(self):
print('two')
def one(self):
self.m2.two()
def __init__(self):
# here the instance gets an instance of the class Main.main2
# as member
self.m2 = Main.main2()
boo = Main()
boo.one()
# boo.m2.two()
或者您直接创建内部类的实例:
m2 = Main.main2()
m2.two()
答案 1 :(得分:-1)
Main.main2().two()
主。 - 对于main2是Main中定义的类,因此是该类的属性
main2() - 实例化子类
两()执行方法
答案 2 :(得分:-1)
你刚刚错过了一个声明,你还没有调用这个方法。
outer = Main()
inner = outer.main2()
# You can now call the method
inner.two()
答案 3 :(得分:-1)
以下行打印输出:
boo.main2().two()