關於在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>

 

 

僅供自己參考,方便以后查看





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM