簡明Python教程 --- 7.函數
函數就是可以重用的語句塊。很多語言都允許定義函數,來給一塊語句塊指定一個名字,然後在程式的其他位置通過這個名字無數次地重用這塊語句塊。
在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__;
注意,文檔字串這個語言特性也可以用於模組和類。