摘要: 装饰器 装饰器定义 python装饰器本质就是一个高阶函数,其一般以一个函数为参数,返回另一个函数,返回值可以是对原函数的改造,也可以跟原函数毫无关系。如下两种代码效果完全等价: @decorate def target(): print("running target()") def target 阅读全文
posted @ 2022-03-11 21:36 肖肖凯 阅读(75) 评论(0) 推荐(0)
摘要: 什么是一等对象? 满足下列条件的为一等对象: 在运行时创建 能复制给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 python中的一等对象 整数、字符串、字典等都是一等对象。 所有的函数都是一等对象,有时简称为一等函数,但是要注意并没有二等三等函数的说法。 函数对象都属于类fu 阅读全文
posted @ 2022-03-11 17:25 肖肖凯 阅读(165) 评论(0) 推荐(0)
摘要: 判断是否为可调用对象 能用调用运算符()的即为可调用对象 使用内置的callable()函数判断是否是可调用对象。 python数据模型七种可调用对象 用户定义的函数,使用def或lambda表达式创建 内置函数,使用C语言实现的函数,如len 内置方法,使用C语言实现的方法,如dict.get 方 阅读全文
posted @ 2022-03-11 15:34 肖肖凯 阅读(309) 评论(0) 推荐(0)
摘要: lambda表达式创建匿名函数格式 lambda x: func(x) 开头lambda表示这是一个匿名函数 冒号前的x表示函数形参 冒号后的func(x)表示对传入的实参x进行处理并返回 labmda注意事项 lambda函数定义体中只能使用纯表达式,不能赋值也不能用while和try等。 pyt 阅读全文
posted @ 2022-03-11 15:27 肖肖凯 阅读(94) 评论(0) 推荐(0)
摘要: 泛映射类型定义 泛映射类型即键值对类型,最常见的当然就是字典,键值对中的键必须是可散列的,可散列对象要满足以下要求: 在此对象的生命周期中,散列值不变 需要实现特殊方法__hash__ 要有__qe__方法 若两个可散列对象相等,则其散列值一定相等 常见可散列对象: 原子不可变数据类型,如str、b 阅读全文
posted @ 2022-03-11 12:24 肖肖凯 阅读(118) 评论(0) 推荐(0)