首页 / PYTHON / Python学习之day4
Python学习之day4
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python学习之day4,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2954字,纯文字阅读大概需要5分钟。
内容图文
![Python学习之day4](/upload/InfoBanner/zyjiaocheng/1288/a9ae0b2ef4de435a8b0fd567df13e795.jpg)
参考文献:http://www.cnblogs.com/alex3714/articles/5143440.html
迭代器: 迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退。另外,迭代器的一大优点是不要求事先准备好整个迭代过程中所有的元素。迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁。这个特点使得它特别适合用于遍历一些巨大的或是无限的集合,比如几个G的文件。
- 访问者不需要关心迭代器内部的结构,仅需通过__next__()获取下一段内容
- 不能随机访问集合中的某个值,只能从头到尾依次访问
- 访问到一半时不能往回退
- 便于循环比较大的数据集合,节省内存
>>> a = iter([1,2,3,4,5,]) >>> a <list_iterator object at 0x0000013D1A8082E8> >>> a.__next__() 1 >>> a.__next__() 2 >>> a.__next__() 3
# !/usr/bin/env python # -*- coding:utf-8 -*- def cash_money(amount): while amount>0: amount -= 100 yield 100 print(‘你来啦!‘) a = cash_money(500) print(type(a)) print(a.__next__()) print(a.__next__()) print(a.__next__()) print(a.__next__()) print(a.__next__())
执行结果:
<class ‘generator‘>
100
你来啦!
100
你来啦!
100
你来啦!
100
你来啦!
100
def login(func): def inner(arg): print("passed user verification...") func(arg) return inner def home(name): print("welcome %s to home page"%name) @login #装饰器放在需要装饰的函数上面以@函数名的形式存在,程序执行是会优先执行login函数,并把被装饰的函数的函数名作为参数 def tv(name): print("welcome %s to TV page"%name) def movie(name): print("welcome %s to movie page"%name) tv("alex")
执行结果:
passed user verification...
welcome alex to TV page
复杂装饰器实现:
def Before(request,kwargs): print(‘before‘) def After(request,kwargs): print(‘after‘) def Filter(before_func,after_func): def outer(main_func): def wrapper(request,kargs): before_result = before_func(request,kargs) if(before_result != None): return before_result; main_result = main_func(request,kargs) if(main_result != None): return main_result; after_result = after_func(request,kargs) if(after_result != None): return after_result; return wrapper return outer @Filter(Before, After) def Index(request,kargs): print(‘index‘) Index("alex","abc")
before
index
after
def func(arg1,arg2): if arg1 == 0: print(arg1) print(arg2) arg3 = arg1 + arg2 print(arg3) if arg3 > 100: passelse: func(arg2, arg3) func(0,1)
0
1
1
2
3
5
8
13
21
34
55
89
144
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
原文:http://www.cnblogs.com/akon0207/p/5196946.html
内容总结
以上是互联网集市为您收集整理的Python学习之day4全部内容,希望文章能够帮你解决Python学习之day4所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。