目录 一.global和nonlocal方法 global方法 nonlocal方法 二.函数名的多种用法 1.函数名可以当作变量名赋值 2.函数名可以当作函数的参数 3.函数名可以当作函数的返回值 4.函数名还可以当作存储数据的容器中的数据 三.闭包函数 1.基础知识 2.作用 四.装饰器简介 为何要用装饰器 什么是装饰器 本质 口诀 储备知识 五.装饰期推导流程 步骤一: 步骤二: 步骤三: 步骤四: 步骤五: 步骤六: 步骤七: 步骤八: 六.装饰器模版 七.装饰器语法糖 八.作业 一.g…
一. 装饰器 装饰器:可以拆解来看,器本质就是函数,装饰就是修饰的意思,所以装饰器的功能就是为其他函数添加附加功能. 装饰器的两个原则: 1. 不修改被修饰函数的源代码 2. 不修改被修饰函数的调用方式 实现装饰器的知识储备: 装饰器 = 高阶函数 + 函数嵌套 + 闭包 高阶函数 高阶函数的定义: 1. 函数接收的参数是一个函数名 2. 函数的返回值是一个函数名 3.满足上述条件任意一个,都可以称之为高阶函数 import time # 示例1: 函数接收的参数是一个函数名 # def foo…
一.嵌套函数 函数的内部又再定义另一个函数,这个函数就叫嵌套函数,里面含函数就叫内部函数. 示例: 二.返回函数 函数可以接收函数对象作为参数,同理函数也能返回一个函数对象作为返回值. 示例: 返回函数可以用来延迟函数的执行. 三.命名空间与变量作用域 变量作用域指的是变量的存活的范围.命名空间指的是属于一个对象的所有属性(对象)的集合. 示例: A的命名空间是A函数对象里面的所有对象的集合,包括变量a.函数B.变量b:B的命名空间就是属于函数B的所有对象的集合,包括变量b: a的变量作用域就是…
一,复习 ''' 1.函数对象:函数名 => 存放的是函数的内存地址 1)函数名 - 找到的是函数的内存地址 2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => fn的返回值一定是函数 使用: 1)直接被其他变量接收 - 将函数的内存地址直接给其他变量 => 被赋值的变量也是函数对象 2)可以作为函数的参数 - 函数的形参接收到的实参是函数对象 => 形参被赋值后也是函数对象 3)可以作为函数的返回值 - 用变量在外界调用并接受这个函数的值 =>…
今日内容 1. 函数的嵌套定义 2.global,nonlocal关键字 3.闭包及闭包的运用场景 4.装饰器 函数的嵌套定义 1. 概念:在一个函数内部定义另一个函数 2 .为什么要有函数的嵌套定义: 1) 函数fn2想要直接使用fn1函数的局部变量,可以将fn2直接定义到fn1的内部,这样fn2就可以直接访问fn1的变量 2) 函数fn2名字就变成fn1的局部变量了,正常只能在fn1中使用,想要在外部使用,可以将fn2函数对象作为fn1函数的返回值 3) 在外部也用同名的变量fn2来接收fn…
## 复习   '''1.函数对象:函数名 => 存放的是函数的内存地址1)函数名 - 找到的是函数的内存地址2)函数名() - 调用函数 => 函数的返回值  eg:fn()() => fn的返回值一定是函数使用:1)直接被其他变量接收 - 将函数的内存地址直接给其他变量 => 被赋值的变量也是函数对象2)可以作为函数的参数 - 函数的形参接收到的实参是函数对象 => 形参被赋值后也是函数对象3)可以作为函数的返回值 - 用变量在外界调用并接受这个函数的值 => 用来…
复习 ''' 1.函数对象:函数名 => 存放的是函数的内存地址 1)函数名 - 找到的是函数的内存地址 2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => fn的返回值一定是函数 使用: 1)直接被其他变量接收 - 将函数的内存地址直接给其他变量 => 被赋值的变量也是函数对象 2)可以作为函数的参数 - 函数的形参接收到的实参是函数对象 => 形参被赋值后也是函数对象 3)可以作为函数的返回值 - 用变量在外界调用并接受这个函数的值 => 用…
复习 1.函数对象:函数名 => 存放的是函数的内存地址1)函数名 - 找到的是函数的内存地址2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => fn的返回值一定是函数使用:1)直接被其他变量接收 - 将函数的内存地址直接给其他变量 => 被赋值的变量也是函数对象2)可以作为函数的参数 - 函数的形参接收到的实参是函数对象 => 形参被赋值后也是函数对象   ---  实现将外层的函数传到函数内部调用3)可以作为函数的返回值 - 用变量在外界调用并接受…
1. glob.glob() glob模块是Python最简单的模块之一, 内容非常少, 用它可以查找符合特定规则的文件路径名, 查找文件时只会用到三个匹配符: * :匹配0个或多个字符 ? : 匹配单个字符 [] : 匹配指定范围内的字符, 如[0-9]匹配数字 返回的是列表 list类型,是所有路径下的符合条件的文件名的列表: 例子:要对某个文件进行处理,需要使用改函数,得到文件名:参数为相对路径(也可以为绝对路径),指当前目录下的train文件夹下的所有图片 还有我发现glob.glob(…
一.函数的动态传参 1.*args位置参数动态传参 def chi(*food): print(food) chi("烧烤","火锅","虾吃虾涮","烤鱼") 多个位置参数传递进去,收到的内容是元组tuple,动态参数的位置必须要在位置参数后面 2**kwargs 关键字参数动态传参 def chi(**food): print(food) chi(zhangqing="吃点好的",lianda=&quo…