关于在python类的方法中 实例化其他的类

 1 class F1:
 2     def __init__(self):
 3         self.gender = 8
 4         print(self.gender)
 5         self.f3()
 6     def f3(self):
 7         self.age = 14
 8         self.name = 'wu'
 9         print('我是F1的')
10 class F3(F1):
11     def f3(self):
12         print('我是F3的!!')
13 class F2():
14     def __init__(self,classname):
15         self.classname = classname
16     def f1(self):
17         self.classname()
18     def f2(self):
19         print('我是F2的!')
20 
21 obj = F2(F3)
22 obj.f1()

在属于F2类的obj对象中调用类方法中实现对F3的实例化,F3是F1的子类,输出结果如下:

1 8
2 我是F3的!!

 

若直接对基类实例化 ,代码如下:
 1 class F1:
 2     def __init__(self):
 3         print('2',self)
 4         self.f3()
 5     def f3(self):
 6         self.age = 14
 7         self.name = 'wu'
 8         print('我是F1的')
 9 
10 class F2(F1):
11     def __init__(self,classname):
12         print('实例化F1')
13         self.classname = classname
14     def f1(self):
15         self.classname()
16         print('1',self)
17     def f3(self):
18         print('我是F2的!')
19 
20 
21 
22 obj = F2(F1)
23 obj.f1()

输出结果为:

1 实例化F1
2 2 <__main__.F1 object at 0x0000005753B493C8>
3 我是F1的
4 1 <__main__.F2 object at 0x0000005753B49320>

 

 

仅供自己参考,方便以后查看




posted @ 2017-10-07 18:26  Wchigo  阅读(6576)  评论(0编辑  收藏  举报