python 3 面向过程编程
生活随笔
收集整理的這篇文章主要介紹了
python 3 面向过程编程
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
python 3 面向過(guò)程編程
核心是過(guò)程(流水線式思維),過(guò)程即解決問(wèn)題的步驟,面向過(guò)程的設(shè)計(jì)就像設(shè)計(jì)好一條工業(yè)流水線,是一種機(jī)械式的思維方式。
1、優(yōu)點(diǎn):程序結(jié)構(gòu)清晰,可以把復(fù)雜的問(wèn)題簡(jiǎn)單化,流程化。
2、缺點(diǎn):可擴(kuò)展性差,改動(dòng)一個(gè)地方很可能要改多個(gè)地方,牽一發(fā)而動(dòng)全身。
3、應(yīng)用場(chǎng)景:linux內(nèi)核,git,httpd,shell腳本.
grep -rl 'error' /dir/ def init(func):def wrapper(*args,**kwargs):g=func(*args,**kwargs)next(g)return greturn wrapper#第一階段:找到所有文件的絕對(duì)路徑import os@initdef search(target):while True:filepath=yieldg=os.walk(filepath)for pardir,_,files in g:for file in files:abspath=r'%s\%s' %(dirpath,file)target.send(abspath)#第二階段:打開文件 @initdef opener(target):while True:abspath=yieldwith open(abspath,'rb') as f:target.send((abspath,f))#第三階段:循環(huán)讀出每一行內(nèi)容 @initdef cat(target):while True:abspath,f=yield #(abspath,f)for line in f:res=target.send((abspath,line))if res:break#第四階段:過(guò)濾 @initdef grep(pattern,target):tag=Falsewhile True:abspath,line=yield tagtag=Falseif pattern in line:target.send(abspath)tag=True#第五階段:打印該行屬于的文件名 @initdef printer():while True:abspath=yieldprint(abspath)g = search(opener(cat(grep('error'.encode('utf-8'), printer()))))g.send(r'E:\project\PY18\lianxi\111222') View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/qiangyuge/p/7277272.html
總結(jié)
以上是生活随笔為你收集整理的python 3 面向过程编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 女人做梦梦到蟒蛇是什么意思
- 下一篇: 梦到别人给我一盒烟什么意思