通常模組為乙個檔案,直接使用import來匯入就好了。可以作為module的檔案型別有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
通常包總是乙個目錄,可以使用import匯入包,或者from + import來匯入包中的部分模組。包目錄下為首的乙個檔案便是 __init__.py。然後是一些模組檔案和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。
在python模組的每乙個包中,都有乙個__init__.py檔案(這個檔案定義了包的屬性和方法)然後是一些模組檔案和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。當你將乙個包作為模組匯入(比如從 xml 匯入 dom )的時候,實際上匯入了它的 __init__.py
檔案。
乙個包是乙個帶有特殊檔案 __init__.py
的目錄。__init__.py
檔案定義了包的屬性和方法。其實它可以什麼也不定義;可以只是乙個空檔案,但是必須存在。如果 __init__.py
不存在,這個目錄就僅僅是乙個目錄,而不是乙個包,它就不能被匯入或者包含其它的模組和巢狀包。
__init__.py 控制著包的匯入行為。假如 __init__.py 為空,那麼僅僅匯入包是什麼都做不了的。
>>>import package1>>> package1.module1traceback (most recent call last):
file "d:/work space/python practice/mypractice/src/test.py", line 8, in aa=package1.module1
attributeerror: 'module' object has no attribute 'module1'
我們需要在 __init__.py 裡把 module1 預先匯入:
#檔案 __init__.py測試:import module1
>>> import package1>>> aa=package1.module1
>>> print aa
__init__.py 中還有乙個重要的變數,叫做 __all__。我們有時會使出一招「全部匯入」,也就是這樣:這時 import 就會把註冊在包 __init__.py 檔案中 __all__ 列表中的子模組和子包匯入到當前作用域中來。比如:from packagename import *
#檔案 __init__.py測試:__all__ = ["module1", "module2", "subpackage1", "subpackage2"]
>>>test1111111111111111111111from package1 import *
>>>
test222222
__init__.py 檔案會在匯入時被執行。
python邏輯模組小結
情景 資料寫入excel需先構造datafram,所以資料的行列需要對應自己的需求 規則1.單個列表 即一維 都是以橫向為形狀,即預設為n行1列 2.兩個單個列表 即二維 一新增即還是先橫向規則,即2行n列 每次維數增加都需要先建立空列表,再新增 之前是會建立轉運列表 每次迴圈都清空的 再把內容新增...
python 時間模組小結
python有兩個重要的時間模組,分別是time和datetime 時間元組 time.struct time tm year 2016,tm mon 7,tm mday 21,tm hour 22,tm min 32,tm sec 51,tm wday 3,tm yday 203,tm isdst...
Python datetime模組小結
模組小結如下 另外有time模組小結 from datetime import date,time,datetime,timedelta datetime.now 當前日期元組 datetime.today 當前日期元組 d1 2018 05 09 10 20 15 d2 2018 06 02 08...