Python__面向过程编程

面向过程:核心是面向过程,过程即解决问题的步骤,基于面向过程去设计程序,就像是在设计流水线

#优点:程序结构清晰,可以把复杂的问题简单化,流程化#缺点:可扩展性差,一条流水线只是用来解决一个问题os模块功能展示:

#Author wangmengzhu
#装饰器
def init(func):
    def wrapper(*args,**kwargs):
        g = func(*args,**kwargs)
        next(g)
        return g
    return wrapper
#第一阶段,找到所有文件的绝对路径
import os
@init
def search(target):
    while True:
        filepath = yield
        g = os.walk(filepath)
        for dirpath,_,files in g:
            for file in files:
                abspath = r‘%s\%s‘%(dirpath,file)
                target.send(abspath)

#第二阶段,打开文件
@init
def opener(target):
    while True:
        abspath = yield
        with open(abspath) as f:
            target.send((abspath,f))

#第三阶段,循环读出每一行的内容
@init
def cat(target):
    while True:
        abspath,f = yield
        for line in f:
            res = target.send((line,abspath))
            if res:
                break

#第四阶段,过滤
@init
def grep(pattern,target):
    tag = False
    while True:
        line,abspath = yield tag
        tag = False
        if pattern in line:
            target.send(abspath)
            tag = True
#第五阶段
@init
def printer():
    while True:
        abspath = yield
        print(abspath)
g = search(opener(cat(grep(‘error‘,printer()))))
g.send(r‘C:\Users\wangmengzhu\PycharmProjects\MZ\a‘)
时间: 2024-10-11 11:58:49

Python__面向过程编程的相关文章

第五章---面向过程编程

编程范式(流派): 面向对象编程,面向过程编程 各有用处!! 编程:语法+数据结构(list dict)+算法(逻辑) 1.面向过程编程:核心是过程二字,过程指得是解决问题的步骤,相当于设计一条流水线,机械式的思维方式 优点:复杂的问题流程化,进而简单化       缺点:可扩展性差       运用场景:系统监控脚本,自动部署脚本之类的,eg:软件包解压安装(不再需要扩展了)就可以使用面向过程的思维编写代码 1 ''' 2 面向过程实例:用户登录注册 3 第一步:用户输入用户名密码 4 第二步

如何从普通程序员晋升为架构师 面向过程编程OP和面向编程OO

引言 计算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到.但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c.ctrl-v用得更加纯熟了.在中国,编程人员最终的归途无外乎两条:一是转向技术管理,它的终点是CTO:二是继续深入,它的终点是首席架构师,成为CEO的人毕竟是少数.如

Python 面向过程编程

一.解释 面向过程:核心是过程二字,过程即解决问题的步骤,基于面向过程去设计程序就像是在设计,流水线式的编程思想,在设计程序时,需要把整个流程设计出来, 一条工业流水线,是一种机械式的思维方式 二.优缺点 优点:程序体系结构清晰,可以把复杂的问题简单化,流程化 缺点:可扩展性差,一条流线只是用来解决一个问题,所以说面向过程的应用多为不需要经常变化的软件 应用场景:linux内核,git,httpd,shell脚本 三.实例(利用协程函数进行面向过程编程) 过滤一个文件下的子文件.字文件夹的内容中

十三、面向过程编程

运用上次的 yiled 模拟 grep -rl 'root' /etc (递归找etc下所有文件并打开,过滤有'root'的文件) # import os # g = os.walk(r'C:\Users\56360\Desktop\city\mycity') # print(next(g)) # 拿到当前文件夹下的子目录和子文件 格式:('C:\Users\56360\Desktop\city\mycity',['src', 'static', 'test'],['index.html', '

面向对象与面向过程编程

两种思想的对比: 面向过程是具体的东西,而且面向过程是面向对象的基础.面向对象可以说是面向过程的抽象,比如汽车有开车,加减速和刹车,关于汽车的操作有好多,每一个都需要一个具体的过程来实现,把这些过程抽象的总结起来就可以形成一个类,这个类包括的汽车所有的东西,所有的操作. 总结来说就是,面向过程是一种基础的方法,它考虑的是实际的实现,一般情况下,面向过程是自顶向下逐步求精,其最重要的是模块化的思想方法.因此在模块化编程的时候才会有"低耦合,高内聚"的思想来提高效率.面向对象的方法主要是把

day5-python之面向过程编程

一.面向过程编程 #1.首先强调:面向过程编程绝对不是用函数编程这么简单,面向过程是一种编程思路.思想,而编程思路是不依赖于具体的语言或语法的.言外之意是即使我们不依赖于函数,也可以基于面向过程的思想编写程序 #2.定义 面向过程的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么 基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式 #3.优点:复杂的问题流程化,进而简单化 #4.缺点:可扩展性差,修改流水线的任意一个阶段,都会牵一发而动全身 #5.应用:扩展性要求不高

迭代器、生成器、面向过程编程

一 迭代器 1.迭代的概念 #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不是迭代 print('===>') l=[1,2,3] count=0 while count < len(l): #迭代 print(l[count]) count+=1 2.为何要有迭代器?什么是可迭代对象?什么是迭代器对象? #1.为何要有迭代器? 对于序列类型:字符串.列表.元组,我们可以使用索引的方式迭代取出其包含的元素.但

python学习第四节 迭代器 生成器 面向过程编程

1:什么是迭代 可以直接作用于for循环的对象统称为可迭代对象(Iterable). 可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator). 所有的Iterable均可以通过内置函数iter()来转变为Iterator. 对迭代器来讲,有一个__next()就够了.在你使用for 和 in 语句时,程序就会自动调用即将被处理的对象的迭代器对象,然后使用它的next__()方法,直到监测到一个StopIteration异常. >>> L = [1,2,3]>

Python函数之面向过程编程

一.解释 面向过程:核心是过程二字,过程即解决问题的步骤,基于面向过程去设计程序就像是在设计,流水线式的编程思想,在设计程序时,需要把整个流程设计出来, 一条工业流水线,是一种机械式的思维方式 二.优缺点 优点:程序体系结构清晰,可以把复杂的问题简单化,流程化 缺点:可扩展性差,一条流线只是用来解决一个问题,所以说面向过程的应用多为不需要经常变化的软件 应用场景:linux内核,git,httpd,shell脚本 三.实例(利用协程函数进行面向过程编程) 过滤一个文件下的子文件.字文件夹的内容中