• day8_python学习笔记_chapter11_函数


    1. 返回对象的数目   python实际返回的对象

      0 -> None ; 1 -> object ; >1 -> tuple

    2. 内部/内嵌函数:如果内部函数的定义包含了再外部函数里定义的对象的引用, 内部函数会变成被称为闭包的特别之物。

    3. 装饰器  ------------待补充

    4. 非关键字可变长参数(元组):

      def tupleVarArgs(arg1, arg2, *theRest):
          print arg1, arg2
          for w in theRest:
              print w
      tupleVarArgs('aaa', 'bbb', 'ccc', 'ddd')

    5. 关键字变量参数(字典)

      def dictVarArgs(arg1, arg2, **theRest):
          print arg1, arg2
          for w in theRest.keys():
              print  'the args is %s: %s' % (w, str(theRest[w]))     
      dictVarArgs('aaa', 'bbb', c='ccc', d = 'ddd', e='eee', men=('f', 'fff'))

    6. 匿名函数,lambda

      def add(x, y): return x + y <==> a = lambda x, y : x + y

    7. 函数式编程内建函数:apply(func[nkw][kw]) 用可选的参数来调用func

      filter(func, seq), 调用一个布尔函数func来迭代遍历每个seq中的元素;返回一个使func返回值为true的元素序列

      fiter()函数的实现:

      def filter(boo_func, seq):

        filtered_seq = []

        for eachItem in seq:

          if bool_func(eachItem):

            filtered_seq.append(eachItem)

        return filtered_seq

    8. map(func, seq) ,将函数func作用到seq中的每个元素上,返回每个元素调用过func() 的seq

      map() 函数的实现:

      def map(func, seq):

        mapped_sqe=[]

        for eachItem in seq:

          mapped_seq.append(func(eachItem))

        return mapped_seq

    9. redunce(func, seq), 他通过去除序列的头两个元素, 将他们传入二元函数来获得一个单一的值来实现。然后又用这个值和序列的下一个元素来获得又一个值,然  后继续直到整个序列的内容都遍历完毕以及最后的结果被计算出来为止。

      reduce(func, [1, 2, 3]) 等价于 func(func(1, 2), 3)

      reduce(func, seq, init=None)的实现:

      def reduce(bin_func, seq, init=None):

        Iseq = list(seq)

        if init is None:

          res = lseq.pop(0)

        else: 

          res = init

        for item in lseq:

          res = bin_func(res, item)

        return res

     10.  偏函数: 函数固化第一个参数为固定参数,

      from functools import partial ; from operator import add, mul

          eg: add3 = partial(add, 3) ; add(x)  ==== add(x, 3)

             mul5 = partial(mul, 5); mul5(x) ==== mul(x, 5)

          将二进制转化为int:   baseTwo = partial(int, base=2); baseTwo('1000')

    11. 变量作用于:局部,全局,global语句

    12. 闭包: 如果在一个内部函数中, 对在外部作用域(但不是全局作用域)的变量进行引用,那么内部函数就被认为是闭包。

      def counter(st=0):
        count=[st]
        def incr():
            count[0] += 1
            return count[0]
        return incr

    >>> count = counter(5)
    >>> print count()

    >>> 6

  • 相关阅读:
    【转】jmeter学习笔记——如何使用镜像服务器
    【转】jmeter学习笔记——分布式测试
    【转】jmeter学习笔记——一种简单的数据库性能测试方法
    【转】jmeter学习笔记——JDBC测试计划-连接Mysql
    【转】jmeter学习笔记——集合点
    【转】jmeter学习笔记——检查点
    【转】jmeter学习笔记——参数化
    【转】jmeter学习笔记——关联
    python笔记-字符串连接
    python3笔记-读取ini配置文件
  • 原文地址:https://www.cnblogs.com/yongpan666/p/3726597.html
Copyright © 2020-2023  润新知