240 发简信
IP属地:江苏
  • 闭包(setter、getter) --访问定义在闭包内的变量

    问题:我们希望通过函数来扩展闭包,使得在闭包内层定义的变量可以别访问和修改 一般来说,在闭包内存定义的变量对于外界来说是完全隔绝的。但是,可以通...

  • 闭包(保存变量) --在回调函数中携带额外状态的几种方法

    问题: 希望编写回调函数可以携带额外的状态以便在回调函数内部使用 首先定义一个回调函数: 使用示例: 有些时候我们希望回调函数可以同其他变量或者...

  • 闭包(closure) --用函数替代只有单个方法的类

    问题:我们有一个定义了一个方法的类(__init__()除外)。但是,为了简化代码,我们希望用一个简单的函数替代 解决方案:只有单个方法的类可以...

  • functools.partial() --让带有n个参数的可调用对象以较少的参数形式调用

    函数functools.partial()允许我们给一个或多个参数指定固定的值,以此减少需要提供给之后调用的参数数量。 举个例子: 原理: 1、...

  • lambda --定义匿名或内联函数 --并且实现绑定变量的值

    问题:需要提供一个短小的回调函数为sort()这样的操作使用,但是又不想通过def语句编写一个单行的函数 解决方案:像这种仅仅完成表达式求值的简...

  • 函数的常用参数定义及返回

    问题1:我们想编写一个可接受任意数量参数的函数 解决方案: 1、要编写一个可接受任意数量的位置参数的函数,可以使用以*开头的参数 2、要接受任意...

  • heapq.merge() --合并多个有序序列,再对整个有序序列进行迭代

    问题:我们有一组有序序列,想对它们合并在一起之后的有序序列进行迭代 使用heapq.merge()函数来解决这个问题 总结: 1、heapq.m...

  • 生成器(yield [from]) --使用的两个例子

    使用示例1:创建处理数据的管道 具体描述:我们想以流水线式的形式对数据进行迭代处理(类似Unix下的管道)。比方说我们有海量的数据需要处理,但是...

  • itertools.chain() --在不同的容器中进行迭代

    问题:我们需要对许多对象执行相同的操作,但是这些对象包含在不同的容器内,而我们希望可以避免写出嵌套循环,保持代码的可读性 解决方案:使用iter...

个人介绍
业精于勤 行成于思