装饰器,闭包,高阶函数,嵌套函数
高阶函数代码形式:(1.函数接收的参数是一个函数名 2.函数的返回值是一个函数名)
def too():print('from too') #高阶函数 def foo():print('from foo')return too a = foo() a()
def too():print('from too') def foo(func):print('from foo')func() a = foo(too)
函数嵌套 定义一个函数,在该函数的代码块中在定义函数(可以一直定义下去)
def foo():print('from in foo')def too():print('from in too')return too too = foo() too()
闭包,将变量(函数本身也是一种变量)用函数封装起来
def foo():def woo():print('闭包')return woo woo = foo() woo()
装饰器:
什么是装饰器. 装饰器是一个函数(具有高阶函数,嵌套函数,闭包等的特性),作用:装饰器就是装饰函数的,及给函数添加功能原则:1.不改变被装饰的函数的内部代码 2.不改变被装饰函数的调用方式 例如:给一个函数加一个测试函数调用时间的装饰器
import time def foo(func):def woo(*args,**kwargs):a = time.time() #定义了一个具有计算函数运行时间的装饰器res = func(*args,**kwargs)b = time.time()print(b - a)return resreturn woo
语法规定,@foo等同与two = foo(two).作用是在给不同的函数加装饰器时,只要在函数的前面加上@装饰器的函数名就可以了.不需要给函数添加功能的就不需要加.(同时,还可以给函数加多个装饰器)运行加了装饰器的函数,实质上是在运行装饰器(把函数放在装饰器内部运行)
@foo def two(name,age):time.sleep(1)print('我叫%s,今年%s岁'%(name,age))return '不错' #two = foo(two) res1 = two('jiang','18') print(res1)
转载于:https://www.cnblogs.com/jiangxiaolong-1996/p/9277871.html
装饰器,闭包,高阶函数,嵌套函数相关推荐
- 初学者python笔记(装饰器、高阶函数、闭包)
一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...
- python中高阶函数和装饰器_Python高阶函数与装饰器函数的深入讲解
本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧 高阶函数 1.可以使用函数对象作为参数的函数 2.或可以将函数作为返回值的函数 3.函数 ...
- Python装饰器、生成器、内置函数、Json-Day05
装饰器 装饰器本质上就是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理 ...
- Python学习(十)——高阶内置函数
内置函数 内置函数 高阶内置函数 abs().sum().round() map() filter() sorted() max().min() 内置函数 内置函数:python提供的,可以直接使用 ...
- 装饰器 闭包 生成器 迭代器
2018-02-21 16:15:56 定义:本质是函数,(装饰其他函数)为其他函数增加附加功能 装饰器原则 不能修改被装饰函数的源代码 不能修改被装饰函数的调用方式 说白了,就是被装饰函数不知道装 ...
- python函数def里面嵌套def_python 函数嵌套函数_Python中的嵌套函数
python 函数嵌套函数 A nested function is simply a function within another function, and is sometimes calle ...
- day4 高阶函数 嵌套函数 装饰器 内置函数 列表生成式 迭代器 生成器
一.函数即变量 1.赋值效果图 a = 1 b = a def func(): print('hello') func 是函数名,相当于变量名,print('hello')是函数体,相当于变量的值, ...
- python-迭代器_高阶函数
1. 迭代器 迭代器 : 能被next调用,并不断返回下一个值的对象,叫做迭代器(对象) 概念 : 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一个结果而继续的 单 ...
- python中的装饰器有哪些-Python中的@函数装饰器到底是什么?
在解释@函数装饰器之前,先说一下,类中的类方法和静态方法. 在Python中完全支持定义类方法.静态方法.这两种方法很相似,Python它们都使用类来调用(ps:用对象调用也可以). 区别在于:Pyt ...
最新文章
- MySQL面试题 | 附答案解析(十一)
- Vue API(directives) 自定义指令
- as [Frame]元标签
- 程序员裸辞求夸,众网友上演大型夸夸秀现场:楼主好样的
- 第十六届智能车竞赛赛道设计第一版本
- 支付宝2018年账单发布,更注重用户隐私保护
- csv数据去重 python_python批量查询、汉字去重处理CSV文件
- 个人项目api接口_5个免费有趣的API,可用于学习个人项目等
- ansys 内聚力_内聚力 软件工程
- unix iorp等待队列_FreeRTOS+POSIX之消息队列API详解
- 华为nova 5z即将亮相:麒麟810+3200万人像超级夜景
- 【编译工具系列】之GCC文件关联
- 史上最强的下载器,没有之一
- 低功耗实例——isolation cell及level shifter的选择
- php计算macd,MT4里的MACD和平常所用的MACD计算公式是什么?
- Latex中thebibliography后面的数字的含义
- 微信h5禁止分享和复制链接 超简单
- Oracle PL / SQL – UPDATE触发器之前的示例
- PS练习7——蒙版的使用
- 3、python学习笔记第三课:程序格式和构成
热门文章
- ubuntu20上安装starUML3
- BugkuCTF-Misc:想蹭网先解开密码
- 在汇编程序中调用C函数
- 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
- Tensorflow2.x.x全卷积神经网络(CNN)
- 深入理解pthread_cond_wait、pthread_cond_signal
- JVM_06 垃圾回收相关算法 [ 一 ]
- 【译】Alethio: Lighting Up the Blockchain with Real Time Data
- How to save your Ethereum Dapp users from paying gas for transactions
- Tensorflow Day17 Sparse Autoencoder