一、模塊相互調用
同級目錄調用時的兩種方法
1 import module 2 print(module.add(3,8)) 3 4 from module import add 5 print(add(2,4))
同級目錄的子目錄調用
1 from 文件相互調用 import cal 2 print(cal.sub(3,8)) 3 from 文件相互調用.cal import sub #這種情況下加一個點(.),然后寫目錄 4 print(sub(3,9))
同級目錄的子目錄的子目錄的調用
1 from 文件相互調用.文件2 import cal2 2 print(cal2.mul(3,7)) 3 4 from 文件相互調用.文件2.cal2 import mul 5 print(mul(3,7))
依次再深一層
1 from 文件相互調用.文件2.文件3 import cal3 2 print(cal3.divi(8,2)) 3 from 文件相互調用.文件2.文件3.cal3 import divi 4 print(divi(8,2))
特殊情況
1 ######### 有一種情況特殊的 ################# 2 from 文件相互調用.文件2 import 文件3 #這種不推薦用這種的 3 print(文件3.cal3.divi(8,2)) 4 5 6 7 ##### 有一種特殊的調用格式:這種不推薦用。一執行效率低;二不卻確定文件是否重復等 8 from 文件相互調用 import * 9 print(cal.sub(3,8)) 10 11 from 文件相互調用.文件2.文件3 import * 12 print(cal3.divi(8,2))
二、一些細節
1 ############################################# 2 同時調用多個模塊時,可簡寫如下 3 import xx, xx,xx, ... #即用逗號隔開 4 5 ############################################## 6 import調用模塊時,做了兩件事情: 7 1、會執行一遍被調用的模塊 8 2、引入變量名(即模塊名) 9 ##############################################33 10 通常情況下不會把所有程序寫在一個文件里面,而是依據功能寫到不同的文件里面 11 如: 12 bin文件時程序的的入口 13 main 文件里只寫邏輯程序 14 module 文件里面只寫功能程序 15 16 17 包的功能: 18 1、用來組織模塊的,可以根據模塊的功能分包; 19 2、避免模塊沖突;而同名模塊放在不同包就不會發生沖突。 20 21 ################################################33 22 if __name__ == "__main__": 23 print(add(3,5)) 24 print('ok') 25 26 print(__name__) 27 28 if __name__ == "__main__": 作用有二: 29 1、 放入某一個文件種,用來測試該文件的結果,但是,該文件被調用時,該語句不會被執行。 30 簡單說就是:用於被調用文件的測試 31 2、調用程序里面寫上這么一句,可以防止別人修改我的主程序,僅供他人調用而已。