import 導入模塊或包 文件就是一個模塊,文件夾就是一個包文件夾裡面可以有很多文件,就相當於包中有好多的模塊. import 模塊或者包(包是文件夾,模塊是文件)模塊不會被重覆導入,引入一次終生受益 '''調用的時候: 模塊.變數 模塊.函數 模塊.類''' (1) 模塊.變數 print(my ...
文件就是一個模塊,文件夾就是一個包
文件夾裡面可以有很多文件,就相當於包中有好多的模塊.
import 模塊或者包(包是文件夾,模塊是文件)
模塊不會被重覆導入,引入一次終生受益
'''
調用的時候:
模塊.變數
模塊.函數
模塊.類
'''
(1) 模塊.變數
print(mymodule.cat)
(2) 模塊.函數
mymodule.jump()
(3) 模塊.類
print(mymodule.Classroom().name)
import.引入並起別名 , as 後面寫這個模塊的別名
別名.變數
別名.函數
別名.類
import導模塊的時候,會從sys.path提供的路徑下去找,找不到就報錯
import sys
print(sys.path)
'''
調用的時候:
直接使用這個變數
直接使用這個函數
直接使用這個類
'''
# 可以導入所有,單個,多個
from module4 import * ... from module4 import girl print(girl) from module4 import girl as g,boy as b #多個 print(b)
返回模塊名字的魔術屬性 __name__
如果當前文件是直接運行的,返回"__main__"字元串
如果當前文件是間接導入的,返回當前文件名(模塊名)
如果想把包當成模塊用,在創建一個__init__.py中進行定義
當引入一個包的時候,當前包下的__init__文件自動執行.
import package1.module1
import package1.module1 as pm print(pm.girl)
# from package1.module2 import * #所有 # print(boy1) # from package1.module2 import boy1 #單個 # print(boy1) # from package1.module2 import boy1,lng21,Bf1 #多個 # lng21()
分模塊不能單獨進行調用,統一由主文件main進行調用
模塊之間的互相嵌套導入,使用相對路徑實現
單入口文件必須和包在同一層級,包裡面可以含有各種包和模塊
# from . import pkg 相對於當前路徑引入模塊 # from .pko2 import ceshi204 相對於當前模塊引入具體屬性 # from .. import pkg2_module1 相對於上一級引入模塊 # from ..pkg2_two import pkt1 相對於上一級的某個包引入模塊 # from ..pkg2_two.pkt2 import ceshi209 相對於上一級某個包下的某個模塊引入某屬性
. 當前路徑 .. 上一級路徑 ... 上一級的上一級 .... 上一級的上一級的上一級 ..... (這裡的點是無限的) from .......................................... import 模塊