Python模塊:包含了所有定義的函數和變量的文件,后綴名為 .py
將某些方法存放在文件中,當某些腳本 或 交互式需要使用的時候,導入進去。
導入的文件,就稱為模塊。導入之后就可以使用導入的文件的函數等功能
import math # 導入 math 庫 print(math.exp(1) == math.e) # 導入 exp() 和 e # True
import 語句:
import 模塊名 或 包:調用方法,使用 模塊名.方法
當解釋器遇到 import 語句時,如果模塊在 搜索路徑 中,則模塊會被導入
注:搜索路徑是解釋器進行搜索的所有目錄名的一個列表。
在一個 .py 文件中創建函數,在另一個 .py 文件中導入
func.py
# 在 func 模塊中定義一個 print_info 函數 def print_info(): print("我是在 func 模塊內部的")
test.py
# 導入 func 模塊 import func # 調用自定義的模塊函數 func.print_info() # 我是在 func 模塊內部的
一個模塊只會被導入一次,無論使用多少次 import 語句,都只導入一次
from 模塊名 import 語句:
from 模塊名 import 子模塊 或 函數 或 類 或 變量:使用函數調用
導入的不是整個模塊,而是 import 后面的函數或變量
注:在調用導入的模塊函數使,不使用模塊名.函數名 而是 直接使用函數名進行調用
func.py
# 在 func 模塊中定義一個 print_info 函數 def print_info(): print("我是在 func 模塊內部的") def get_info(): print("獲取到了 func 模塊的信息")
test.py
# 導入 func 模塊 from func import get_info # 調用自定義的模塊函數 get_info() # 獲取到了 func 模塊的信息
注:沒有導入 print_info 方法,使用會報錯
from 模塊名 import * :
使用 函數 或 變量 直接進行使用
將模塊內的所有內容都導入到當前的模塊中,但是不會將該模塊的子模塊的所有內容也導入
導入語句遵循如下規則:如果包定義文件 __init__.py 存在一個叫做 __all__ 的列表變量,那么在使用 from package import * 的時候就把這個列表中的所有名字作為包內容導入。
from func import * # 調用自定義的模塊函數 print_info() # 我是在 func 模塊內部的 get_info() # 獲取到了 func 模塊的信息
注:不導入 _ 單個下划線開頭的變量或方法
2020-02-12