美文网首页
python参数、函数

python参数、函数

作者: 苏幕遮_凌枫 | 来源:发表于2017-08-06 22:10 被阅读0次

    *args以元组方式收集参数 可以先以元组形式收集参数 再将元组作为参数
    **args是以字典形式收集参数

    >>> def tf(x,*ff):\
    ... print x,ff
    ...
    >>> tf(1,3,4,5,6)
    1 (3, 4, 5, 6)
    >>>
    

    python中的几个特殊函数

    1.lambda

    #coding:utf-8
    nums=range(0,100,3)
    print nums
    #每个元素加10
    num_1=[x+10 for x in nums]
    print num_1
    nf=lambda x:x+10
    num_2=[]
    for i in nums:
        num_2.append(nf(i))
        print num_2
    

    2.map

    map(function,args)
    
    new_l=map(nf,nums)
    print new_l
    

    3.reduce

    new_2=reduce(lambda x,y:x+y,nums)
    print new_2
    

    与map用法类似

    4.filter

    a_num_list=range(-3,3)
    #把其中大于0的元素取出来
    print filter(lambda x:x>0 ,a_num_list)
    
    • xrange和range的区别 xrang返回的是迭代器对象 range返回的是列表 XRANG的执行效率更高

    生成器 与迭代器原理类似

    >>> my_gen=(x*x for x in range(4))
    >>> my_gen
    <generator object <genexpr> at 0x7f3765842050>
    >>> for i in my_gen:\
    ... print i
    ...
    0
    1
    4
    9
    

    生成生成器的一种方式 生成器解析式 与列表解析类似 () []不同

    def gen():
    yield 1
    yield 2
    yield 3
    print gen()
    g=gen()
    print g.next()
    
    • 生成器创建对象之后 调用next()开始执行 遇到yield 挂起 返回值
      再次执行next()继续向下执行 遇到yeild挂起 返回值
    • send()方法需要在挂起后才可以执行 throw可以抛出异常 close可以关闭生成器

    相关文章

      网友评论

          本文标题:python参数、函数

          本文链接:https://www.haomeiwen.com/subject/phinlxtx.html