next 数值 blog div 生产 生成 英文 返回
1.yield 英文意思生产、生成的意思,在 Python 中带有 yield 的函数被称为生成器 (Generator)
- '''
- for i in range(10000)#生成10000个元素的List值越大,运行中占用的内存就会越大
- for j in xrange(10000)#xrange返回的不是List,而是一个iterable的对象每次迭代返回下一个数值,占用很小的内存空间
- '''
- def readFileByYield(xpath) : with open(xpath, 'rb') as ty: for line in ty.readlines() : yield line#每执行一次yield,语句就会中断,并返回一个迭代值
- #
- for循环中会自动调用next() for line in readFileByYield('D: \wangyi.py') : print line
2.Python 三元运算 语法格式:为真时的结果 if 判定条件 else 为假时的结果
- 1
- if 10 > 9
- else 0
- def threeElementExpression(a, b) : return a - b
- if a > b
- else abs(a - b)
- print threeElementExpression(1, 5) print threeElementExpression(10, 5)
3.lambda 表达式,它能实现函数速写的功能,相当于匿名函数,而用 def 声明的函数是有名称的,比如:
- lambdatest = lambda x: x * *2
- for i in range(1, 5) : print lambdatest(i)
- list_lambda = range(1, 10)
- #列表中的每个元素加1 print map(lambda a: a + 1, list_lambda)
- #返回列表中的偶数print filter(lambda a: a % 2 == 0, list_lambda)
- #返回列表中所有元素相乘的结果print reduce(lambda a, b: a * b, list_lambda)
Python 学习心得 (四) yield 和三元运算以及 lambda 表达式
来源: http://www.bubuko.com/infodetail-2228133.html