Python基礎之面向過程程式設計

2022-05-04 06:51:12 字數 1759 閱讀 3614

#定義階段

import os,time

def init(func): #裝飾器的作用是使下面的生成器初始化,yield等著被傳值

res = func(*args,**kwargs)

next(res) #呼叫生成器初始化

return res

@init

def search(target):

'''找到檔案的絕對路徑'''

while true:

dir_name = yield

print("search開始工作:檔案的絕對路徑")

time.sleep(2) #加上睡眠時間是為了使看著更有效果

g = os.walk(dir_name)

for i in g:

for j in i[-1]:

file_path = "%s\\%s"%(i[0],j)

target.send(file_path) #

@init

def opener(target):

'''開啟檔案,獲取檔案控制代碼'''

while true:

file_path = yield

print("opener開始工作:獲取檔案控制代碼")

time.sleep(2) #加上睡眠時間是為了使看著更有效果

with open(file_path,encoding="utf8") as f:

target.send((file_path,f))

@init

def cat(target):

'''讀取檔案內容'''

while true:

file_path,f = yield

print("cat開始工作:讀取檔案內容")

time.sleep(0.3) #加上睡眠時間是為了使看著更有效果

for line in f:

target.send((file_path,line))

@init

def grep(pattern,target):

'''過濾一行內容中有需要內容,就把路徑傳給下面'''

while true:

file_path,line = yield

print("grep開始工作:過濾內容")

if pattern in line :

target.send(file_path)

@init

def printer():

'''列印檔案路徑'''

while true:

file_path = yield

print("printer開始工作:列印檔案的絕對路徑")

time.sleep(2)

print(file_path)

#呼叫階段

g = search(opener(cat(grep("python",printer()))))

g.send("e:\michael")

---------------以下是輸出結果------------------

e:\michael\aa1.txt

e:\michael\aa\a1.txt

面向過程的程式設計思想:

流水線式的程式設計思想,在設計程式時,需要把整個流程設計出來。

優點:1:體系結構更加清晰

2:簡化程式的複雜度

缺點:可擴充套件性極其的差,所以說面向過程的應用場景是,不需要經常變化的軟體,如:linux核心,httpd,git等軟體。

python基礎之面向過程程式設計,模組

面向過程程式設計 面向過程的核心是過程,指的是解決問題的步驟,即先幹什麼再幹什麼,就好像設計一條流水線。優點 複雜的問題流程化,進而簡單化 缺點 可擴充套件性差,修改流水線的任意乙個階段,都會牽一髮而動全身 應用 擴充套件性要求不高的場景,典型案例如框架,linux核心,git 模組 1.什麼是模組...

python之物件導向程式設計

物件導向的程式設計的核心是物件 上帝式思維 要理解物件為何物,必須把自己當成上帝,上帝眼裡世間存在的萬物皆為物件,不存在的也可以創造出來。物件是特徵和技能的結合,其中特徵和技能分別對應物件的資料屬性和方法屬性。優點是 解決了程式的擴充套件性。對某乙個物件單獨修改,會立刻反映到整個體系中,如對遊戲中乙...

Python之物件導向程式設計

類和物件 類是抽象的模板,比如我們抽象乙個學生類,很容易想到學生固有的一些屬性,比如名字,年齡等等,建立乙個學生類 class student object pass 複製 這裡的object是表明student類是從哪個類繼承來的,在python中object是所有類的父類 繼承的概念下文會提及 ...