函数就是可以重用的语句块。很多语言都允许定义函数,来给一块语句块指定一个名字,然后在程序的其他位置通过这个名字无数次地重用这块语句块。
在Python中是使用def关键字来定义函数。def关键字后跟函数的名字,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,也就是函数体。
def sum(a, b) :
return a + b;
result = sum(1, 2);
print 'result=', result;
函数形参
定义函数时,圆括号内的参数名称为形参,而调用函数时,传递给函数的值称为实参。
局部变量
在函数内部定义的变量在函数外部访问不到。也就是说这种变量的作用域范围只限于函数内部,这种变量被称为局部变量。
def sayHello() :
str = "Hello";
print str;
sayHello();
global
如果你想在函数外访问函数内部声明的变量,那么那个变量需要被声明为global。
def func() :
global a;
print "a=", a;
a = 100;
func();
默认参数值
def func(a,b=2) :
s = a+b;
print s;
func(1);
func(1,2);
注意,有默认值的参数必须位于参数列表的尾部,否则就会引发错误。
关键参数
关键参数是一种调用方式,不解释了,给你一个例子吧:
def func(a, b=5, c=10) :
print 'a=', a, ' b=', b, ' c=', c
func(3, 7);
func(25, c=24);
func(c=50, a=100);
而执行结果为:
a=3 b=7 c=10
a=25 b=5 c=24
a=100 b=5 c=50
return语句
和C/C++、Java、C#一样,Python也是使用return语句结束一个函数的执行、从函数中返回值。
在没有显示指明return语句的方法中,return是默认放置在所有该返回的地方的。
return语句的用法在本章的第一个例子中已经有所展现,这里不再举例。
DocString(文档字符串)
规定,函数内体的第一个个逻辑行如果是一个字符串,那么该字符串就是这个函数的文档字符串。
文档字符串可以通过函数名加“.”加“__doc__”来访问。
def func() :
"this is DocString";
print func.__doc__;
注意,文档字符串这个语言特性也可以用于模块和类。