學習筆記 模組

2021-08-19 15:27:26 字數 2804 閱讀 4457

時間模組 time

詳見 :

python_base_docs_html/時間模組time_180407222007.html

練習:hh:mm:ss

2. 寫乙個程式,輸入你的生日,

1) 計算出你出生的那天是星期幾?

2)計算出你已經出生了多少天?

系統模組 sys

執行時系統相關的資訊和函式

詳見:python_base_docs_html/系統模組sys_180407222006.html

自定義模組

示例見:

mymod.py  # 被匯入模組

test.py  # 主模組

匯入模組時的路徑索引順序:

1. 索引程式的執行時路徑(當前路徑)

2. 搜尋 sys.path裡提供的路徑

3. 搜尋內建模組

模組化程式設計的優點:

1. 有利於多人合作開發

2. 使**更加易於維護

3. 提高**的復用率

4. 模組化程式設計有助於解決函式名和變數名衝突(重名)問題,模組內的變數的作用域為模組內全域性

模組的載入過程

1. 在模組匯入時,模組的所有語句都會執行

2. 如果乙個模組已經匯入,則再次匯入時不會重新執行模組內的語句

import imp

模組被匯入和執行的過程:

1. 先搜尋相關路徑找模組(.py)

2. 判斷是否有此模組對應的.pyc檔案,如果沒有此檔案,則用.py檔案 生成相應的.pyc檔案再進行載入

3. 如果檔案已經存在,則判斷.pyc檔案和.py檔案的修改時間,再決定是否重新生成.pyc檔案

模組的編譯 compile

編譯             解釋執行

mymod.py   --->>  mymod.pyc  ---> python3

模組的文件字串 :

模組內第一行沒有賦值給任何變數的字串為文件字元

此文件字串可以用help函式檢視

示例見:

mymod2.py

說明:模組的文件字串被繫結在模組的 __doc__屬性上

__file__屬性

用來繫結模組對應的檔案路徑名

示例:import mymod2

print(mymod2.__file__)

模組的 __name__ 屬性:

用來記錄模組自身的名字

作用:1. 記錄模組名

2. 用來判斷是否為主模組

__name__ 說明:

1. 當此模組作為主模組(也就是第乙個執行的模組)執行時,__name__繫結'__main__'

2. 當此模組不是主模組時,模組為名檔名去掉'.py'

模組的 __all__列表

模組中的__all__列表是乙個用來存放可匯出屬性的字串列表

作用:當用from import * 語句匯入模組時,只匯入 __all__ 列表內的屬性

示例:見: mymod4.py

模組的隱藏屬性:

模組中以'_' 開頭的屬性,在from import * 語句匯入時,將不會匯入,通常稱這些屬性為隱藏屬性

示例見:

mymod5.py

標準庫模組:

隨機模組 random

作用:用於模擬或生成隨機數的模組

模組函式說明見:

/python_base_docs_html/隨機模組random_***x.html

練習:1. 假設可以作為密碼的字元有:

a-za-z

0_9下劃線

寫乙個程式,隨機生成六位密碼

8z_a63

包(模組包) package

包是將模組以資料夾的組織形式進行分組管理的方法

作用:1. 將一系列模組進行分類管理,有利於防止命名衝突

2. 可以在需要時載入乙個或部分模組而不是全部模組

包示例:

mypack/

__init__.py

menu.py

games/

__init__.py

contra.py      # 魂斗羅

supermario.py  # 超級瑪麗

tanks.py       # 坦克大戰

office/

__init__.py

excel.py

word.py

powerpoint.py

包的匯入語法:

import 包名 [as 包別名]

import 包名.模組名 [as 模組新名]

import 包名.子包名.模組名 [as 模組新名]

from 包名 import 模組名 as 模組新名

from 包名.子包名 import 模組名 [as 模組新名]

from 包名.子包名.模組名 import 屬性名[as 屬性新名]

from 包名 import *

from 包名.模組名 import *

練習:1. 編寫乙個鬧鐘程式,啟動時設定定時時間(小時和分鐘)

到時間後列印"時間到....." 然後退出程式

2. 模擬鬥地主發牌,撲克牌共54張:

花色:黑桃('\u2660'), 梅花('\u2663'), 方塊('\u2665'), 紅桃('\u2666')

數值:a2-10jqk

大小王三個人,每人發17張牌,底牌留三張:

輸入回車,列印第1個人的17張牌

輸入回車,列印第2個人的17張牌

輸入回車,列印第3個人的17張牌

再輸入回車,列印出三張底牌

3. 繼續完成學生資訊管理專案

ngx lua模組學習筆記

lua code cache 1.語法 lua code cache on off 預設為on 2.作用 是否開啟lua 快取。3.注意 關閉 off 時,不用重啟ngx服務,方便測試。生產環境,千萬不要關閉該開關。lua transform underscores in response head...

Python學習筆記 模組

模組,用一砣 實現了某個功能的 集合。類似於函式式程式設計和面向過程程式設計,函式式程式設計則完成乙個功能,其他 用來呼叫即可,提供了 的重用性和 間的耦合。而對於乙個複雜的功能來,可能需要多個函式才能完成 函式又可以在不同的.py檔案中 n個 py 檔案組成的 集合就稱為模組。如 os 是系統相關...

python random模組學習筆記

python中的random模組用於生成隨機數,下面是random的一些使用方式 匯入random模組 import random一 choice choice 隨機獲取乙個值 從0 9中隨機輸出乙個值 defchoice value1 random.choice range 10 value2 r...