码迷,mamicode.com
首页 > 编程语言 > 详细

python学习day10

时间:2018-03-10 00:14:55      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:blog   常见   ble   gpo   code   class   style   执行函数   turn   

一:  list 生成式

#codeing:UTF-8
#__author__:Duke
#date:2018/3/9/009

# list 生成器
a = [x for x in range(10)]
print(a)  #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = [x*x for x in range(10)]
print(a)  #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

def f(n):
    return n**3
a = [f(x) for x in range(10)]
print(a)  #[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]

二:生成器

生成器共两种创建方法

# 一: 小括号法
a = (x*2 for x in range(10))
print(a)  #a  为 generator(生成器) object
print(next(a))  # == print(a.__next__())
print(next(a))  # == print(a.__next__())
#genator  只能一个一个的接着读
#
# #生成器本来就是一个可迭代对象(iterable)
for i in a:
    print(i)

#二:  关键字法
def fun():
    print("ok1")
    yield  1   #这是next 时的返回值

    print("ok2")
    yield 2
a = fun()  #此时的fun()是一个生成器对象,不在是一个函数,它不会执行函数中的内容,
next(a) # 完成第一个yield  的内容
#
print(next(a))
##   完成第二个yield  的内容  ,先执行next(a)
#    会打印OK2  ,并返回2 ,所以打印的 next(a)就是打印返回值2


#什么是可迭代对象?  对象有 iter  方法的对象就是迭代对象
#常见的有  list  tuple  dict  set
# a = set("a")
# a.__iter__()

def  fib( num ):
    n,a,b = 0,0,1
    while n<=num:
        print(b)
        a,b = b,a+b
        n= n+1

fib(6)

 

python学习day10

标签:blog   常见   ble   gpo   code   class   style   执行函数   turn   

原文地址:https://www.cnblogs.com/duke77--null/p/8536870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!