摘要: """ 面向过程编程:就类似于设计一条流水线 好处: 将复杂的问题流程化 从而简单化 让人一目了然 可以明白什么是干什么的 坏处: 可扩展性较差 一旦需要修改 整体都会受到影响牵制一发 动则全身 因为你不直到哪里 用到了这个函数所以 要修改 是很麻烦的 稍有不注意那么整个代码就有问题 """ # 注册功能 # 1.获取用户输入 def g... 阅读全文
posted @ 2019-07-15 23:32 杨鑫Zz 阅读(112) 评论(0) 推荐(0)
摘要: 生成器表达式 生成器1.生成器会主动地执行任何一行代码 2.生成器必须通过__next__来触发代码的运行 列表生成式 例子: """ # res = [i for i in range(1,10) if i !=4 ] # print(res) # 结果:[1, 2, 3, 5, 6, 7, 8, 9]生成一个列表 # for循环i ... 阅读全文
posted @ 2019-07-15 20:37 杨鑫Zz 阅读(200) 评论(0) 推荐(0)
摘要: """关键字 yiels yield 支持外接为其传参 yield 1.可以帮你生成一个自定义的生成器 2.可以帮你吧在运行的函数,变成暂停状态 3.yield 也可以有返回值 与return之间的异同点 1.相同点: 都可以返回值 并且返回多个值 2.不同点: yield 可以返回多辞值 ... 阅读全文
posted @ 2019-07-15 19:55 杨鑫Zz 阅读(168) 评论(0) 推荐(0)
摘要: """ 生成器: 首先要了解生成器的 关键单词 yield 然后就是生成器 就是用户自己定义的迭代器 所以本质上还是迭代器 例子: """ def func(): print("iter") yield 111 print("next") yield 222 print("iter") yield 333 print(... 阅读全文
posted @ 2019-07-15 19:32 杨鑫Zz 阅读(105) 评论(0) 推荐(0)
摘要: """for 循环内部的本质 1.将in 后面的对象调用了__iter__转换成了迭代对象 2.调用 __next__迭代取值 3 内部有异常捕获 stoppiteration,当__next__出现这种报错的时候循环自动结束可迭代对象:内置方法有__iter__的迭代器对象:即拥有__iter__ 阅读全文
posted @ 2019-07-15 19:13 杨鑫Zz 阅读(254) 评论(0) 推荐(0)
摘要: """ 迭代器取值 1.内置有__iter__方法 2.内置有__next__方法 注释:迭代器一定是可迭代对象 但是可迭代对象不一定是迭代器对象 迭代器的特点: 只能从头依次取值 不能说倒退 把刚才的值再取一次那是不行的 """ # l= [1,2,3,4,5] # #生成一个迭代器对象 # iter_1 =l.__iter__() # ""... 阅读全文
posted @ 2019-07-15 19:03 杨鑫Zz 阅读(1085) 评论(0) 推荐(0)
摘要: """ 迭代器 什么是迭代器 迭代 : 就是更新换代一个重复的过程 迭代的过程都必须基于上一次的结果 为什么要用迭代器: 迭代器 给你提供了一种不需要索引取值的方式 一 需要迭代取值的数据类型 字符串 int 列表 list 元组 tuple 字典 dict 集合 set 可迭代对象 只要内置方法里面有__iter__的都叫迭代对象 补充 : 针... 阅读全文
posted @ 2019-07-15 18:27 杨鑫Zz 阅读(127) 评论(0) 推荐(0)
摘要: max 取列表中的最大值 min 和max 刚好是相反的 一个是取最大值 而min是取最小值 # 如1 l = [1,2,3,4]print(max(l)) #结果:4 """ max:内部基于for循环, 先一个一个的将传入容器类型中的元素一个一个的取出 当你没有制定key 那么 (key 中的第一个字母对应的是ascll表的对应数字从而做出判断) 如果指定了key,那... 阅读全文
posted @ 2019-07-15 17:21 杨鑫Zz 阅读(125) 评论(0) 推荐(0)
摘要: 3.装饰器的嵌套 1.装饰的时候 从下往上执行(******) @outter1 # index = outter1(func2)@outter2 # func2 = outter2(func1)@outter3 # func1 = outter3(index)def index(): pass 阅读全文
posted @ 2019-07-15 16:09 杨鑫Zz 阅读(150) 评论(0) 推荐(0)