Python学习笔记(六)抽象(下)


6.4.5反转过程

如何将参数收集为元组和字典已经讨论过了,但事实上,如果使用*和**的话,也可以执行相反的操作.

>>> def add(x,y): return x+y

>>> params=(1,2)
>>> add(*params)
3

可以使用同样的技术来处理字典

>>> def hello_3(greeting ='hello',name='world'):
	print '%s, %s'%(greeting,name)

	
>>> params={'name':'daxiao','greeting':'i love'}
>>> hello_3(**params)
i love, daxiao

6.5作用域

与C一样,在函数内部定义的变量只在函数内部有效.

读取全局变量:

>>> def combine(temp):print temp+temp2

>>> temp2='b'
>>> combine('a')
ab

改变全局变量

>>> x=1
>>> def change():
	global x
	x+=1

	
>>> change()
>>> x
2

6.6递归

6.6.1 举例

斐波那契数列:

ef f(i):
	if(i==1):
		return 1
	else:
		if(i==2):
			return 1
		else:
			return f(i-1)+f(i-2)

6.6.2 二元查找

略.

这章总体来说比较简单,毕竟都是之前学过的内容.过一遍即可

小结

抽象

函数定义

参数

作用域

递归

函数型编程



评论关闭