python笔记三 生成器

三元表达式:‘返回值’ if x =='条件' else ‘返回值’

'''三元表达式'''

li_apple = ['屁股%s号' %str(i+1) for i in range(10) if i<7]

print(li_apple)

'''生成器函数,基于迭代器的函数,以yield为返回值,记录本次返回状态。'''

def the_emperor():

    print('马上打天下的-----> ',end='')

    yield "太祖"

    time.sleep(2)

    print('早早被消失的-----> ', end='')

    yield "惠宗"

    time.sleep(2)

    print('不正常继位的-----> ',end='')

    yield "太宗"

    time.sleep(2)

    print('终于正常了的-----> ',end='')

    yield "高宗"

    time.sleep(2)

    print('开始折腾了的-----> ',end='')

    yield "世宗"

die=the_emperor()

print(die.__next__())

print(die.__next__())

print(die.__next__())

print(die.__next__())

print(die.__next__())

文件处理:

'''文件打开 r,w,读写,写入会清空原内容'''

fl=open('歌词','w')

r_f=fl.write('僕が死のうと思ったのは ウミネコが桟橋で鳴いたから')

rl = open('歌词','r')

print(rl.read())

rl.close()

'''文件操作with方法,复制文件内容至其他文件再追加内容'''

with open('歌词','r') as fla , open('歌词2','w') as rl :

    ci = fla.read()

    rl.write(ci)

with open('歌词2','a') as rla:

    rla.write('\n波の随意に浮かんで消える 過去も啄ばんで飛んでいけ ')

'''遍历生成器'''

def mun():

    for i in range(7):

        ret = 0

        if i%2 == 0:

            ret = i **2

        # else:

        #    continue

        yield ret

for times in mun():

    print(times)

生成器可被for循环,但只可被遍历一次。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 8,213评论 0 9
  • 1. Python的hello-world: print ("Hello, Python!")、 完了 摇就完事儿...
    LunarShade阅读 5,716评论 0 0
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,196评论 0 10
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 6,240评论 0 6
  • 迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个St...
    猫茂懋阅读 3,696评论 1 2

友情链接更多精彩内容