python学习day10

Posted Duke77

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习day10相关的知识,希望对你有一定的参考价值。

一:  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的主要内容,如果未能解决你的问题,请参考以下文章

学习python:day10

Python学习之路——Day10(线程进程)

python学习——day10

Python学习路程day10

Python学习日记day10

python 机器学习有用的代码片段