模組的運用

2022-09-17 12:15:10 字數 2097 閱讀 1005

1 什麼是模組

模組就是一系列功能的集合體

模組有三種**

1. 內建的模組

2. 第三方的模組

3. 自定義模組

模組的格式:

1 使用python編寫的.py檔案

2 已被編譯為共享庫或dll的c或c++擴充套件

3 把一系列模組組織到一起的資料夾(注:資料夾下有乙個__init__.py檔案,該資料夾稱之為包)

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

2 為何要用模組

1. 使用內建的或者第三方模組的好處是: 拿來主義,可以極大提公升開發效率

2. 使用自定義模組的好處是: 可以減少**冗餘(抽取我們自己程式中要公用的一些功能定義成模組,然後程式的各部分元件都去模組中呼叫共享的功能)

3 如何用模組

大前提: 一定要區分開誰是執行檔案,誰是被匯入模組

匯入模組

import 匯入

檔名是spam.py,模組名則是spam

首次匯入模組發生?件事

1. 會產生乙個模組的命名空間

2. 執行檔案spam.py,將執行過程中產生的名字都放到模組的命名空間中

3. 在當前執行檔案的命名空間中拿到乙個模組名,該名字指向模組的命名空間

import spam

之後的匯入,都是直接引用第一次匯入的成果,不會重新執行檔案

在執行檔案中訪問模組命名空間中名字的語法:模組名.名字

import spam

print(spam.x) # 指名道姓地跟spam要名字x,肯定不會與當前執行檔案中的名字衝突

x # 向當前執行檔案的命名空間要名字

money=11111111111111111111111

print(spam.money)

print(spam.read1)

print(spam.read2)

print(spam.change)

spam.read1()

def read1():

print('run.py --> read1')

spam.read2()

spam.change()

print(spam.money)

print(money)

總結import匯入模組:在使用時必須加上字首:模組名.

優點: 指名道姓地向某乙個命名空間要名字,肯定不會與當前命名空間中的名字衝突

缺點: 但凡應用模組中的名字都需要加字首,不夠簡潔

一行匯入多個模組(不推薦)

import spam,os,time

可以為模組起別名(注意:模組名應該全為小寫)

import spam as sm

print(sm.money)

print(sm.read1)

from...import...匯入

首次匯入模組發生3件事

1. 建立乙個模組的命名空間

2. 執行檔案spam.py,將執行過程中產生的名字都放到模組的命名空間中

3. 在當前執行檔案中直接拿到乙個名字,該名字就是執行模組中相對應的名字的

總結from...import...

優點:使用時,無需再加字首,更簡潔

缺點: 容易與當前命名空間中的名字衝突

*代表從被匯入模組中拿到所有名字(不推薦使用)

from spam import money,read1,read2,change

from spam import * # __all__ = ['money','read1']

print(money)

print(read1)

print(read2)

print(change)

起別名from spam import read1 as r1

r1()

Python os模組的運用

import os 獲得當前操作的絕對路徑 abspath os.path.abspath real.txt print abspath 檢視當前目錄 curpath os.curdir print curpath 獲得當前工作目錄 cwd os.getcwd print cwd 獲得該目錄下所有的...

os模組運用《一》

os.getcwd 獲取當前工作目錄 os.chdir path 改變當前指令碼工作目錄 相當於shell下cd os.curdir 返回當前目錄 os.pardir 獲取當前目錄的父目錄字串名 os.makedirs dir1 dir2 可生成多層遞迴目錄 os.removedirs dirnam...

re 模組簡單運用

import random from random import randint,choice,sample for i in range 20 test random.randint 1,10 1 10之間的整數,包括1和10 test1 random.random 0到1 之間的小數 test2...