day——05 迭代器,生成器

来源:互联网 发布:淘宝卖家代销怎么发货 编辑:程序博客网 时间:2024/06/07 21:00
__author__ = 'Administrator'
#format字符串格式化
#例子
s1="fdsfdsfs{0},Im a {0},I am".format("123","Dou")
s2="-----{name:s}====={age:d}============{name:s}".format(name="Alex",age=26)
#上面的s代表字符串,d代表数字
s3="----------{:*^20s}======={:+d}===={:#x}".format("Alex",456,15)#填充只能填充一个字符,^表示居中,20表示数量
#d表示数字,+表示整数,#表示二进制
s4="-----------{:.2%}".format(0.032323)#.2表示小数位后要几个
#传入列表,列表前面要加*号
s5="i am {0[0]},i go to {0[1]},i gk {1[2]}".format(["alex","beijing"],["fjk","dump","fsd"])
print(s5)#format支持索引里面的索引




#生成器
def func():
    print("Start")
    yield 1
    print(222)
    yield 2
    print(333)
    yield 3
# ret=func()
# r=ret.__next__()#只要有一个next就进去函数去取一个值,进入后就找到yield,获取yield后面的数据,一旦找到yield就获取值就出来了
# print(r)
# r=ret.__next__()
# print(r)
#
# r=ret.__next__()
# print(r)


#生成器就是具有生成东西能力的一个对象
def ran(arg):
    start=0
    while True:
        if start>=arg:
            return
        yield  start
        start+=1


#生成器是基于yield,而迭代器是不需要你写的
for i in ran(4):
    print(i)
0 0
原创粉丝点击