1.对输入变量进行反转输出
def func(x,y,z):
l = [x,y,z]
l.reverse()
numbers = tuple(l)
return numbers
x,y,z=func(0,1,2)
print x,y,z
2.常规实现阶乘的方法:
def func(n):
if n==1:
return 1
elif(n>1):
return n*func(n-1)
print(func(5))
快速实现阶乘的方法:
print("5!=",reduce(lambda x,y:x*y,range(1,6)))(python2)
3.Generator函数:
生成器的作用是一次产生一个数据项,并把数据项输出。
Generator函数 的定义和普通函数的定义没有什么区别,只要在
函数体内使用yield生成数据项即可。
Generator函数可以被for循环遍历,而且可以通过 next() 方法获得
yield生成的数据项。
示例:
def func(n):
for i in range(n):
yield i
for i in func(3):
print i # 0 1 2
r = func(3)
print r.next() #0
print r.next() #1
print r.next() #2
yield保留字与 return 语句的返回值和执行原理都不相同,yield生成值并不会中止程序的执行,返回值后程序继续往后执行。return返回之后,程序将中止执行.
演示yield和return语句的区别:
def func(n):
for i in range(n):
return i
def func2(n):
for i in range(n):
yield i
print func(3) #0
f = func2(3)
print f #内存地址
print f.next() #0
print f.next() #1
print f.next() #2