一、調用內置模塊
1. 調用模塊
import time
print(time.ctime())
2. 直接導入ctime()函數
from time import ctime
print(ctime())
3. 導入time模塊下多個函數
from time import *
4. 導入time模塊下所有函數
此方法適用於會適用到模塊中所有函數,但又不想在每個函數前加time
from time import *
print(ctime())
sleep(2)
print(ctime())
如果導入的函數剛好與自己定義的函數重名,可使用"as"進行重命名
from time import sleep as sys_sleep
def sleep():
print("this is I defined sleep")
sleep()
sys_sleep(2)
二、自定義模塊
- calculator.py
def add(a, b):
return a + b
- test.py
from calculator import add
print(add(4, 5))
補充:當在運行test.py之後,project目錄下多了一個__pycache/calculator.cpython-37.pyc文件爲了提高模塊加載速度,每個模塊都會在__pycache__文件夾中放置該模塊的預編譯模塊,命名爲module.version.pyc
三、跨目錄調用模塊
此種情況,先使用"sys.path"查看python的搜索路徑,發現module不在搜索路徑中,這樣也就導致,我們無法直接導入calculator文件
解決:我們只需要把module文件夾加入到python的搜索路徑下即可
1.絕對路徑添加(可移植性差)
import sys
sys.path.append("D:\\python\\demo\\project2\\module")
from calculator import add
print(add(2, 3))
2.相對路徑添加(必須保證相對目錄層級不改動)
import sys
import os
project_path = os.path.dirname(os.path.dirname(abspath(__file__)))
sys.path.append(project_path + 'module')
from calculator import add
print(add(2, 3))
四、編寫自測代碼
calculator.py
def add(a, b):
return a + b
if __name__ == '__main__':
# 測試代碼
c = add(3, 5)
print(c)