#檔案就是乙個模組,資料夾就是乙個包
#資料夾裡面可以有很多檔案,就相當於包中有好多的模組.
import 模組或者包(包是資料夾,模組是檔案)
模組不會被重複匯入,引入一次終生受益
1.匯入模組# 1.import 引入模組
"""import ...as..改名
呼叫: 模組.變數
模組.函式
模組.類
"""import module as jia #從資料夾引入模組
print(jia.name) #賈英賀
jia.func() #我是好人
# 2.匯入任意檔案下的模組
import sys
"""import導模組的時候,會從sys.path提供的路徑下去找,找不到就報錯
可以把要匯入模組的路徑新增到sys.path路徑裡
"""# 3.from ...import ... 從**匯入..(變數,函式,類,模組)
"""呼叫 : 直接呼叫,不需要再 . 了
"""# 匯入單個成員
from module import name
print(name)
# 匯入多個成員
from module import name,func
func()
# 匯入所有成員(*)
"""在被呼叫檔案中,可以用魔術方法__all__=限制匯入所有*
列表成員: ["變數名","函式名","類名"]
"""from module import *
# 4.返回模組名字的魔術屬性 : __name__
"""如果當前檔案是直接執行的,返回"__main__"字串
如果當前檔案是間接匯入的,返回當前檔名
作用: 防止其他檔案引入測試**
module檔案下測試**
if __name__=="__main__":
print(name)
func()
"""print(__name__) #__main__
2.匯入包# 1.單入口模式:只通過主檔案來呼叫分模組內容,分模組不單獨執行
"""單入口檔案必須和包在同一層級,包裡面可以含有各種包和模組
分模組不能單獨進行呼叫,統一由主檔案main進行呼叫
模組之間的互相巢狀匯入,使用相對路徑實現
"""import package2.pkg_one.pkgone_1 as pp
#在pkgone_1檔案下,可以使用相對路徑匯入(模組或模組中的具體成員)
"""相對路徑:
. 當前路徑
.. 上一級路徑
... 上一級的上一級
..... (這裡的點是無限的)
引入模組:
from . import pkg 相對於當前路徑引入模組
from .pko2 import ceshi204 相對於當前模組引入具體屬性
from .. import pkg2_module1 相對於上一級引入模組
from ..pkg2_two import pkt1 相對於上一級的某個包引入模
"""# 2.匯入包 import
"""檔案=>模組 資料夾=>包
當import 資料夾時,會自動呼叫__init__.py初始化檔案;
可以通過初始化檔案__init__.py引入其他模組:
需要絕對路徑,從引入包同一級檔案開始引入模組
"""
python模組匯入與模組包匯入
main.py程式第一次匯入指定檔案mod.py時,執行 找到模組檔案mod.py 編譯成位元組碼 可選 執行.pyc位元組碼,建立mod.py中定義的物件。匯入模組後,模組物件會被儲存在sys.modules的表中。每次匯入時,若此表中已存在相關模組,以上3步會被跳過。1.搜尋模組檔案 按順序 程...
python 匯入模組
最近開始學習python,遇到一些匯入模組的問題,花了幾分鐘終於琢磨明白了,給初學者介紹幾種型別 一 test sys test1 nv1.py nv2.py nv1.py 如下 classdog defadd self a,b self.a a self.b b c self.a self.b r...
python匯入模組
1 模組的定義 模組定義 用來邏輯上組織python 變數 函式 類 邏輯 目的是 實現乙個功能 本質就是.py結尾的python檔案。補充 包的定義 用來從邏輯組織模組的,本質就是乙個目錄 必須帶有乙個 init py檔案 2 匯入方法 匯入模組的方法 1.import module name 匯...