整理目的:
面向對象編程的時候有時候會由於這些基礎概念混淆致使出錯較多,因此概括整理一下
問題來源:
一. 同一個類之間不一樣的方法如何相互調用 類比於 不一樣函數之間如何相互調用
二. 不一樣.py文件之間不一樣的類如何相互調用 類比於 不一樣.py文件之間不一樣的函數如何相互調用
三. 不一樣包(package,同級)之間不一樣的類如何相互調用 類比於 不一樣包(package,同級)之間不一樣的函數如何相互調用
一.
1.同一個類之間不一樣的方法如何相互調用 :經過self.變量名
2.不一樣函數之間如何相互調用:先調用函數並賦值給一個變量f, 並經過f [ ] 調用
(二者之間有差異,注意對比記憶)
二.
1.不一樣.py文件之間如何相互調用彼此的類:使用import
例如:
a.py裏有 class A:
b.py 裏有 class B:
若是你要在class B裏用class A 須要在 b.py的開頭寫上 from a import A
2.不一樣.py文件之間如何相互調用彼此的函數:一樣,也是使用import(可是不一樣包(package)之間就不是這樣,咱們下面會說到)
三.
1.不一樣包(package,同級)之間不一樣的類如何相互調用:參考一下2.
2.不一樣包(package,同級)之間不一樣的函數如何相互調用 :經過sys
import sys
sys.path.append('.\xxx1')
from xxx1.xxx2 import xxx3
xxx1:被調用函數所在的文件所在的package名
xxx2:被調用函數所在的.py文件名
xxx3:調用了函數的py.文件所在的package名