定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- Return[expression]结束函
- 数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def changeme(mylist): mylist.append([1,2,3,4]); print "函数内取值: ",mylist; return mylist=[10,20,30,40]; changeme(mylist); print "函数外取值为: ",mylist;
输出结果为: - 或者:
-
- 不定长参数:
- 你需要一个函数能处理比当初声明时更多的参数,这些参数就叫做不定长参数;
-
def printinfo(arg1,*vartuple): print "输出:"; print arg1; for var in vartuple: print var; return; printinfo(10); printinfo(10,20,30);
输出为: -
匿名函数
python 使用 lambda 来创建匿名函数。
- lambda只是一个表达式,函数体比def简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率
例如:
sum=lambda arg1,arg2:arg1+arg2;
print "相加之后的值为: ",sum(10,20);
print "相加之后的值为: ",sum(30,70);
运行之后的结果为:
与c++中一样,也有局部变量和全局变量一说。