一.生成式和生成器   列表生成式是python受欢迎的语法之一,通过一句简洁的语法就可以对一组元素进行过滤,还可以对得到的元素进行转换处理.   #/usr/bin/python #coding=utf-8 #@Time   :2017/11/2 21:05 #@Auther :liuzhenchuan #@File   :列表生成式和生成器.py   #求1-100里所有偶数的平方 #列表生成式法 print [x*x for x in xrange(1,101) if x%2==0]  …
本章内容: 列表生成式 生成器 yield 迭代器 列表生成式 当我们要定义一个列表的时候,我们通常用这种方式a = [1,2,3],但是如果我们定义了一个比较长的列表的时候,手动定义列表就会比较麻烦,这是我们通常的做法就是利用循环的手段来创建列表,例如创建如下的列表: L = [0,1,4,9,16,25,36,49,64,81] L = [] for x in range(1, 11): L.append(x*x) 这样我们就创建了一个较长的列表. 但是这样写,我们用了三行代码,其实我们可以…
装饰器 器即函数,装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 装饰器涉及的知识点= 高阶函数+函数嵌套+闭包 在遵循下面两个原则的前提下为被装饰者新功能 必须遵循的原则: 1)一定不能修改源代码 2)不能修改调用方式 语法糖(格式符号):@ @timer #@timer就等同于cal=timer(cal) def cal(array): res=0 for i in array: res+=i return res cal(range(10)) #…
学习内容 1.装饰器 2.生成器 3.迭代器 4.软件目录结构规范 一:装饰器(decorator) 1.装饰器定义:本质就是函数,用来装饰其他函数,即为其他函数添加附加功能. 2.装饰器原则:1)不能修改被装饰函数的源代码2)不能修改被装饰函数的调用方式 3.装饰器的知识储备 1)函数即是变量 2)高阶函数:a,把一个函数名当作实参给别外一个函数(在不修改被装饰函数源代码的情况下实现增加附加功能) b,返回值中包括函数名(不修改函数调用方式) 3)嵌套函数:用def 在别外的函数中定义的函数…
列表生成式(List Comprehension) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成 list [, , , , , , , , , ] 可以用 range(, ) : >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L…
一.迭代器 1.什么是迭代 1 重复 2 下次重复一定是基于上一次的结果而来 l=[,,,] count= while count < len(l): print(l[count]) count+= 迭代举例 2.可迭代对象 可进行.__iter__()操作的为可迭代对象 #print(isinstance(str1,Iterable)),判断str1是否是可迭代对象 3.迭代器 进行.__iter__()操作操作后的结果为迭代器 iter1=obj.__iter__()  #iter1为迭代器…
介绍 可迭代的:内部实现了__iter__方法 迭代器:内部实现了__iter__,__next__方法 生成器:yield,yield from 使用 __iter__() __next__() __length_hint__() # 长度 都可以使用for循环 只有迭代器可以使用next() l = [1,2,3,4] l1 = [1,2,3,4].__iter__() for item in l:print(item) # # # for item in l1:print(item) #…
文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  装饰器 : 定义: 装饰器 本质是函数,功能是装饰其他函数,就是为其他函数添加附加功能. 原则: 1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 看以下 [root@localhost day4]# cat decorator.py #!/usr/bin/env python3 import time def timmer(func): #装饰器. 其实编写当时和写函数 是一样的 def…
列表生成式 格式:通过一个或者若干个在List里边的for构建List而非List外部的for循环 举个例子:计算从1到10整数的平方构成一个List L=[ x*x for x in range(1,11) ] 作用:①取代for循环+append快速生成一个List ②从已有的List中快速生成另一个List 补充: 1.for后可以跟 if,以达到筛选合适的元素而非全部元素以创建List 如:只取偶数 L=[ x*x for x in range(1,11) if not x%2] 注意:…
异常处理 面向对象 迭代器和生成器 python异常处理 下面代码触发了一个FileNotFoundError >>> open("notexist.txt") Traceback (most recent call last): File "<stdin>", line 1, in <module> FileNotFoundError: [Errno 2] No such file or directory: 'notex…