函数
文章平均质量分 93
i0208
石匠
展开
-
python 异步编程 asyncio
协程协程(Coroutine),也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行在Python中有多种方式可以实现协程,例如:greenlet,是一个第三方模块,用于实现协程代码(Gevent协程就是基于greenlet实现) yield,生成器,借助生成器的特点也可以实现协程代码。 asyncio,在Python3.4中引入的模块用于编写协程代码。 async & awiat,在Python3.5中引入的两个关键字,结合as原创 2022-03-17 23:50:20 · 4644 阅读 · 0 评论 -
functools工具 wraps partial
wraps''' Python装饰器(decorator)在实现的时候,有一些细节需要被注意。例如,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变)。这样有时候会对程序造成一些不便,例如笔者想对flask框架中的一些函数添加自定义的decorator,添加后由于函数名和函数的doc发生了改变,对测试结果有一些影响。 所以,Python的functools包中提供了一个叫wraps的decorator来消除这样的副作用。写一个decorator的时候,最好在实现之前加上functool原创 2020-05-12 15:03:15 · 229 阅读 · 0 评论 -
匿名函数 内置函数
匿名函数不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数先写lambda关键字,然后依次写匿名函数的参数,多个参数中间用逗号连接,然后是一个冒号,冒号后面写返回的表达式。匿名函数就是没有变量名绑定的函数,在内存中只是一个内存地址(垃圾回收)匿名函数通常配合内置函数使用ambda函数能接收任何数量(可以是0个)的参数,但只能返回一个表达式的值,lam...原创 2020-01-21 14:29:33 · 421 阅读 · 0 评论 -
递归函数
递归函数介绍函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身#直接调用本身def f1(): print('from f1') f1()f1()#间接调用本身def f1(): print('from f1') f2()def f...原创 2020-01-21 14:27:35 · 304 阅读 · 0 评论 -
三元表达式 列表推导式 生成器表达式 字典生成式
三元表达式三元表达式是python为我们提供的一种简化代码的解决方案,语法如下res = 条件成立时返回的值 if 条件 else 条件不成立时返回的值def max2(x, y): if x > y: return x else: return yres = max2(1, 2)将上述函数用三元表达式书写x...原创 2020-01-21 14:26:01 · 265 阅读 · 1 评论 -
迭代器 for循环的原理 生成器 yield
迭代器迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代while True: msg = input('>>: ').strip() print(msg) # 仅仅是单纯的循环,没有迭代,不是迭代器下...原创 2020-01-21 14:23:12 · 469 阅读 · 0 评论 -
闭包 装饰器
闭包 什么是闭包 基于函数对象的概念,可以将函数返回到任意位置去调用,但作用域的关系是在定义完函数时就已经被确定了的,与函数的调用位置无关。也就是说函数被当做数据处理时,始终以自带的作用域为准。若内嵌函数包含对外部函数作用域(而非全局作用域)中变量的引用,那么该’内嵌函数’就是闭包函数,简称闭包(Closures)总结:1.定义在函数内部的函数,该函数引用了外部函数名称空间...原创 2020-01-21 14:17:58 · 217 阅读 · 0 评论 -
函数 return 传参 名称空间 作用域
介绍 什么是函数 在编程的过程中,会出现代码冗余,可读性差,不易修改,所以出现了函数,函数类似一个工具,这个工具可以拿过来直接使用 定义一个函数 当python遇到 def 语句时候 ,会在内存中生成一个函数对象,并且这个函数是靠将函数名来引用,但是这个函数体内部的语句只有在函数的调用的时候才会被执行,而函数调用结束了,就是函数返回时,函数执行完后内部变量将会被回收de...原创 2020-01-21 14:14:57 · 459 阅读 · 0 评论