python模塊調用總結
1.模塊的定義
本質上就是.py結尾的python文件,用來從邏輯上組織python代碼(變量,函數,類,邏輯),為了實現一個功能。
2.模塊的調用方法
首先編寫一個模塊文件:
1 name=‘Tao‘ 2 3 def say(): 4 print(name) 5 6 def logger(): 7 print(‘logger‘) 8 9 def login(): 10 print(‘login‘)
方法一:import module1,module2
1 print(module_test.name) 2 module_test.say()
方法二:from ... import ...
1 from module_test import say 2 say() 3 4 from module_test import logger 5 logger() 6 7 from module_test import login 8 login()
from import 與import的區別(看import後面):
a.import module_test調用時需要加模塊名前綴module_test.say()。
b.from module_test import say調用時直接say()不用加模塊名前綴。
方法三:from ... import ... as ...
1 from module_test import login as login_tao #調用時更改函數名 2 login_tao()
3.調用模塊的本質
a.import module_test的本質
將module_test內的所有代碼解釋一遍統一賦值給了module_test的變量,調用的時候加上module_test的前綴。
b.from module_test import login的本質
只找login這個函數的代碼,相當於把module_test模塊中的login代碼解釋賦值給了login調用時不用加模塊前綴,直接調用。
4.包(package)
定義:用來從邏輯上組織模塊的,放模塊的,本質是一個目錄(必須帶有一個__init__.py文件)。
導入包的方法:import 包名。
導入包的本質:導入包的本質就是執行pack裏面的__init__.py文件,即import 包名這行代碼直接執行__init__.py文件。
5.當模塊在不同級目錄下時,模塊的調用方法
a.調用同級文件中的module時直接from 文件名 import 模塊名。
1 from pack import module_test 2 module_test.login()
b.直接加環境變量,將模塊所在文件的地址加到sys.path中。
1 print(sys.path) 2 day5_DIR=os.path.dirname(os.path.abspath(__file__)) 3 pack_DIR=day5_DIR+‘\\‘+‘pack‘ 4 sys.path.append(pack_DIR) 5 print(sys.path) 6 7 import module_test 8 module_test.login()
目錄結構:
python模塊調用總結