今儿再网上看了下别人总结的python 函数,功能挺强大的,c有的功能都有,下面就记些它的功能点:
1)定义,格式跟C不一样,概念是一样的。
def <函数名> (参数列表): <函数语句> return <返回值>
2)函数可以命别名,很方便啊,C语言我记忆中只有指针可以。
def sum(List):
... result=0
... for i in List:
... result = result+i
... return result
sum1 = sum #定义一个别名 sum1
l = [1,2,3]
sum1(l) #结果为 6
3)默认参数,这个跟C是一样的,默认参数必须放在最后
def sum(a, b=1): #b为默认参数 return a + bsum(1,2) #3sum(1) #2
4)关键参数,一般参数都是位置来解析,这个为了破坏这个规则来设置的,规定指定的参数是什么值,他妈的有点逆天,C没有这个功能。
def sum(a=0, b=0):return a + bsum() # 0 + 0
sum(a=1) # 1 + 0
sum(b=1) # 0 + 1
sum(a=1, b=2) # 1 + 2
sum(b=1, a=2) # 2 + 1
5)可变长参数,这个跟C语言很像,有点不同是C语言跟变长参数,都会跟一个整形的参数,表示变长的个数。
*seq 序列位置参数,接收一个元组
>>> def test(*seq):... print seq...>>> test(1,2,3,4)(1, 2, 3, 4)>>> test(*[1,2,3])(1, 2, 3)
**dic 关键参数,接收一个字段
>>> def test2(**dic):... print dic...>>> test2(a=1,b=2){'a': 1, 'b': 2}>>> test2(**{'a':1, 'b':2}){'a': 1, 'b': 2}
6)特殊的轻型函数 lambda
语法:
#lambda 参数列表:表达式lambda arg1,arg2,…argN: expression using args
例如:
>>> result = lambda x:x**2>>> result(3)9