guxh的python筆記:包和模組
阿新 • • 發佈:2019-01-08
1,包和模組
包package:本質就是一個資料夾/目錄,必須帶一個__init.__.py的檔案
模組module:.py結尾的python檔案
2,匯入方法
import pandas, collections # 匯入多個
import pandas as pd # 起別名
3,包pakage中__init__匯入方法
guxh/
|-- __init__.py # 空白
|-- ex1.py # 含有ex1.fun()
3.1,__init__函式留空
"""__init__函式中為空"""
無法通過 import package自動獲得package下的module,需手工指定module。
使用guxh包時支援如下方式:
from guxh import ex1 guxh.ex1.func()
import guxh.ex1 guxh.ex1.func()
3.2,__init__函式匯入module:
from . import ex1 # 相對路徑匯入 from guxh import ex1 # 絕對路徑匯入
使用時必須帶上ex1模組,通過ex1模組訪問func方法
使用guxh包時支援如下方式:
import guxh guxh.ex1.ex1fun()
from guxh import ex1 ex1.ex1fun()
import guxh.ex1 guxh.ex1.ex1fun()
3.3,__init__函式匯入module中的方
from .ex1 import * # 相對路徑匯入,匯入所有方法 from .ex1 import func # 相對路徑匯入,指定匯入func方法 from guxh.ex1 import * # 絕對路徑匯入,匯入所有方法 from guxh.ex1 import func # 絕對路徑匯入,指定匯入func方法
這樣可以讓package像module,不用帶上ex1模組直接使用func,同時也支援帶上ex1模組訪問func。
使用guxh包時支援如下方式:
import guxh guxh.ex1fun() # guxh能直接訪問到ex1fun() guxh.ex1.ex1fun() # 帶上ex1也行
from guxh import ex1 ex1.ex1fun()
import guxh.ex1 guxh.ex1fun() # guxh能直接訪問到ex1fun() guxh.ex1.ex1fun() # 帶上ex1也行
3.4,錯誤的匯入方法
import ex1
這種匯入方式,會讓找不到ex1模組,但是如果是init自己執行ex1.fun()卻可以