美文网首页
python基础

python基础

作者: 简书用户9527 | 来源:发表于2017-11-27 21:46 被阅读0次
    #encoding=utf-8
    print('py init......   ')
    
    
    g = (x*x for x in range(10))
    for g_temp in g:
    print(g_temp)
    
    print('=='*10)
    g1 = (x*x*2 for x in range(1,10))
    print(next(g1))
    
    print('fib start .....')
    # 斐波拉契函数
    def fib(max):
    n,a,b = 0,0,1
    while n < max:
    print(b)
    a,b = b,a+b
    n = n + 1
    return 'done'
    
    a = fib(9)
    
    print('fib end ..... ')
    
    
    print('fib generator  start .....')
    # 斐波拉契函数
    def fib(max):
    n,a,b = 0,0,1
    while n < max:
    print(b)
    yield(b)
    a,b = b,a+b
    n = n + 1
    return 'done'
    
    a = fib(5)
    
    print('fib generator end ..... ')
    
    
    def odd():
    print('step 1')
    yield 1
    print('step 2')
    yield 3
    print('step 3')
    yield 5
    
    o = odd()
    print(next(o))
    
    while True:
    try:
        x = next(o)
        print('yield value:',x)
    except StopIteration as e:
    print('e value: ',e.value)
    break
    
    
    
    
    
    '''
     用于for循环的有两类:
     list列表,tuple元组 , dict字典 ,set集合 ,str字符串
     generator 迭代器 
     他们都有一个共同点:Iterable  可迭代对象
     
     迭代器:可以被next() 函数调用并不断返回下一个值的对象称为迭代器
     
     
     
     
     函数式编程:
     提供部分支持,但不是纯函数式编程语言
     
     
     
     
     高阶函数:
     定义:变量可以指向函数,函数的参数能接受变量,那么一个函数就可以接受另一个函数作为参数
     
     函数编程就是指这种高度抽象的编程范式
     
     map() 
     reduce()
     filter()
     
     排序:sorted()
     
     高阶函数可以把函数作为返回值
     
     闭包的概念:
     
     def lazy_sum(*args):
    def sum():
    ax = 0
    for n in args:
    ax = ax + n
    return ax
    return sum
    
    f = lazy_sum(1,3,5,7)
    
    print(f())  
    
    '''
    
    

    相关文章

      网友评论

          本文标题:python基础

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