立習習學Python第十天 模組

2021-10-09 00:25:25 字數 2780 閱讀 6969

模組的匯入

包package的使用

模組的分布的安裝

模組分為標準庫模組和使用者自定義模組。

python標準庫提供了作業系統功能、網路通訊、文字處理、檔案處理、數**算等基本的功能。比如:random(隨機數)、math(數**算)、time(時間處理)、file(檔案處理)、os(作業系統互動)、sys(和直譯器互動)等。

便於將乙個任務分解成多個模組,實現團隊協同開發,完成大規模程式;

實現**復用,乙個模組實現後,可以被反覆呼叫;

可維護性增強。

設計api(應用程式介面),進行功能描述;

編碼實現api中描述的功能;

再模組中編寫測試**,並消除全域性**;

使用私有函式實現不被外部客戶端呼叫的模組函式。

import語句的基本語法格式如下:

import 模組名  # 匯入乙個模組

import 模組1,模組2… # 匯入多個模組

import 模組名 as 模組別名 # 匯入模組並使用新名字

import載入的模組分為四個通用類別:

a. 使用python編寫的**

b. 已被編譯為共享庫或dli的c或c++擴充套件

c. 包好一組模組的包

d. 使用c編寫並鏈結到python直譯器的內建模組

import本質上是使用了__import__內建函式。

from…import語句的基本語法格式如下:

from 模組名 import 成員1,成員2,…

from 模組名 import

*# 匯入這個模組中的所有成員

**注意:**應盡量避免第二種寫法,因為可能會覆蓋掉自己定義的名字。

import語句本質上就是呼叫內建函式__import__(),我們可以通過它實現動態匯入。給__import__()動態傳遞不同的引數,就能匯入不同的模組。

s =

"math"

m =__import__

(s)print

(m.pi)

**注意:**一般不建議使用__import__()匯入,其行為在python2和python3中有差異,會導致意外錯誤。如果需要動態匯入可以使用importlib模組。

import importlib

a = importlib.import_module(

"math"

)print

(a.pi)

乙個模組無論匯入多少次,這個模組在整個直譯器程序內有且僅有乙個例項物件。

如果想多次呼叫,使用動態呼叫importlib模組中的reload函式。

將功能類似的模組放到一起,形成了。包就是乙個必須有__init__.py的資料夾。包下面可以包含模組,也可以包含子包。

若要匯入module_aa.py。方式如下:

import語句

import a.aa.module_aa # 在使用時,必須加完整名稱來引用即a.aa.module_aa.fun_aa()
from…import語句

from a.aa import module_aa # 在使用時,直接使用模組名即module_aa.fun_aa()
from…import語句加強版

from a.aa.module_aa import fun_aa # 直接匯入函式
匯入包的本質其實是「匯入了包的、__init__.py」檔案。

__init__.py的三個核心作用:

如果是子包內的引用,可以按相對位置引入子模組

from..

import module_a # ..表示上級目錄 .表示同級目錄

from

.import module_a2

當匯入某個某塊檔案時,python直譯器一般是按照下述順序進行尋找。

內建模組

當前目錄

程式的主目錄

pythonpath目錄(如果已經設定了pythonpath環境變數)

標準鏈結庫目錄

第三方庫目錄

.pt**件的內容

步驟如下:

為模組檔案建立如下結構的資料夾(資料夾的名字和模組的名字要相同)

在資料夾中建立乙個名為setup.py的檔案,內容如下:

from ditutils.core import setup

setup(

name =

'wyxmath'

#對外模組的名字

version =

'1.0'

#版本號

description =

'這是第乙個對外發布的模組,測試用'

#描述 author =

'wyx'

#作者 author_email =

'[email protected]'

py_modules =

['wxymath.demo1'

,'wyxmath.demo2'

]# 要發布的模組

)

構建乙個發布檔案。通過終端,cd到模組資料夾c下面,再鍵入命令

python setup.py sdist

在cmd命令列模式下操作,進setup.py所在目錄,鍵入命令:

python setup.py install

python學習第十天

class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...

python學習第十天

這兩個習題主要是複習各種符號,並且強調編寫長 時要寫一段執行一段修改一段 主要是學習對列表的進一步操作 ten things stuff ten things.split 定義乙個字串變數 用split 函式以空格為分隔標誌分隔字串使之成為列表 more stuff day night song f...

PYTHON小白 第十天

python小白 第十天 1 函式入門 1.1 理解函式 從函式定義者 實現函式的人 的角度來看,其至少需要想清楚以下3點 函式需要幾個關鍵的需要動態變化的資料,這些資料應該被定義成函式的引數。函式需要傳出幾個重要的資料 就是呼叫該函式的人希望得到的資料 這些資料應該被定義成返回值。函式的內部實現過...