python 物件導向 模組定位 包的操作

2021-10-01 22:41:11 字數 2182 閱讀 3184

模組中的__all__

1

. 補充: 匯入模組的語法

import 模組名

from 模組名 import 函式名1

,函式名2

,類名1

,類名2..

....

....

.# * 代替的是(from 模組名 import 成員名) 中的成員名

from 模組名 import*2

.from 模組名 import

*: 一次性匯入模組中的所有內容

缺點: 匯入的內容太多,不一定都用, 浪費空間

解決: 通過 __all__ =

["類名"

,"函式名"

,"變數"

] 限制只能匯入列表中的內容

模組的定位

1

. 匯入模組的,系統尋找模組(某個路徑中查詢)

如果找不到,丟擲異常 modulenotfounderror

2. 模組的查詢路徑(模組的定位)(1

) 系統規定死的路徑

先後順序:

a. 內建模組路徑(python.exe中)

, 任意地方都能使用

b. 系統標準模組路徑(python安裝路徑/lib目錄中)

, 任意地方都能使用

c. 主執行檔案所在當前目錄

d. 第三方包的安裝路徑(pip install pymysql)

: python安裝路徑/lib/site-packages,

任意地方都能使用

(2) 自定義的路徑

任意指定乙個路徑作為包/模組的查詢路徑

實現方式:

import sys

sys.path # 系統路徑, 列表, 可以修改的

"新目錄路徑"

) sys.path.insert(0,

"新目錄路徑")3

. 補充坑爹貨(pycharm)

pycharm自動將 專案根目錄新增到了 sys.path 中, 原本可能是沒有的

包的操作

1

. 標準的包中有個__init__.py檔案, 是乙個目錄.

2. 作用: 管理多個模組/包

3. 包的使用

from 包名 import 模組名

from 包名.模組名 import 函式/類/變數

from 包名.模組名 import

*# 匯入包中的所有模組

from 包名 import*4

.from 包名 import

*: 一次性匯入所有的模組

缺點: 會匯入很多的模組及內容到記憶體中, python要求必須限制能夠匯入的模組

解決: 在 __init__.py 檔案中通過 __all__ =

["模組名"

] 指定能夠匯入的模組

range()

range()

: 函式用於生成指定範圍的物件(可迭代物件)

使用方式:

obj =

range

(start,end,step)

start: 預設0

end: 設定(包前不包後)

step: 預設1

# 轉換成立列表

list

(obj)

# 直接遍歷

for..in

...

給程式傳遞引數

1

. 給程式傳遞引數: 指給python.exe傳遞引數

傳遞引數的方式:

python.exe 指令碼路徑 引數2 引數3

接收引數的方式:

import sys

sys.ar**

列表推導式

1

. 概念: 列表推導式 根據指定的表示式 用於快速生成列表

語法:變數 =

[表示式 for tmp in 容器 簡單if語句]

# 簡單 if *** else ***

集合的操作

1

. 集合可以用於去重

2. 集合可以運算

交集:& 並集:

| 差集:

-

python 包與模組及物件導向初步

備註 1.實際程式設計時由於程式的功能複雜,會分成很多模組,即.py檔案,不同檔案之間可以匯入內容,如 1 import 檔名 as 自定義名稱 2 from 檔名 import 包 as 自定義名稱 3 from 檔名 import 注 第一種方式在引用包時,需要用檔名.包的方式,後兩種可直接呼叫...

python物件導向學習筆記八 模組和包

每乙個以副檔名.py結尾的源 檔案都是乙個模組。模組名同樣也是乙個識別符號,需要符合識別符號的命名規則 由數字 字母和下劃線組成,而且開頭不能是數字。模組就好比是工具包,模組中定義的全域性變數 函式 類,都是提供外界使用的工具。要想使用模組中的工具,首先要匯入這個模組。有兩種方式 import匯入 ...

模組,物件導向程式設計

直接引入模組 import model if name main print model.page 從模組中引入具體內容 from models import page if name main print page 引入模組中的全部內容 後續呼叫時 from models import if na...