3. 函式引數與作用域
4. 返回值
關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。
使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。
以下例項在函式 printme() 呼叫時使用引數名:
#!
/usr/bin/python
# -*
- coding:
utf-8-
*-#可寫函式說明
def printme
( str )
:"列印任何傳入的字串"
print str;
return;
#呼叫printme函式
printme
( str =
"my string");
#輸出結果
my string
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的**段。函式能提高應用的模組性,和**的重複利用率。你已經知道python提供了許多內建函式,比如print()。但你也可以自己建立函式,這被叫做使用者自定義函式。
你可以定義乙個由自己想要功能的函式,以下是簡單的規則:
任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。
函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。
函式內容以冒號起始,並且縮排。
return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。
def functionname
( parameters )
:"函式_文件字串"
function_suite
return
[expression]
def printme
( str )
:"列印傳入的字串到標準顯示裝置上"
print str
return
必備引數
關鍵字引數
預設引數
不定長引數
必備引數
必備引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。
呼叫printme()函式,你必須傳入乙個引數,不然會出現語法錯誤:
#!
/usr/bin/python
# -*
- coding:
utf-8-
*-#可寫函式說明
def printme
( str )
:"列印任何傳入的字串"
print str;
return;
#呼叫printme函式
printme()
;#輸出結果
traceback
(most recent call last)
: file "test.py"
, line 11,in
printme()
;typeerror:
printme
() takes exactly 1
argument
(0 given)
乙個程式的所有的變數並不是在哪個位置都可以訪問的。訪問許可權決定於這個變數是在**賦值的。
變數的作用域決定了在哪一部分程式你可以訪問哪個特定的變數名稱。兩種最基本的變數作用域如下:
全域性變數
區域性變數
定義在函式內部的變數擁有乙個區域性作用域,定義在函式外的擁有全域性作用域。
區域性變數只能在其被宣告的函式內部訪問,而全域性變數可以在整個程式範圍內訪問。呼叫函式時,所有在函式內宣告的變數名稱都將被加入到作用域中。如下例項:
#!
/usr/bin/python
# -*
- coding:
utf-8-
*-total =
0; # 這是乙個全域性變數
# 可寫函式說明
def sum
( arg1, arg2 )
: #返回2個引數的和."
total = arg1 + arg2; # total在這裡是區域性變數.
print "函式內是區域性變數 : "
, total
return total;
#呼叫sum函式
sum(10,
20);print "函式外是全域性變數 : "
, total
return語句[表示式]退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數值的return語句返回none。之前的例子都沒有示範如何返回數值,下例便告訴你怎麼做:
#!
/usr/bin/python
# -*
- coding:
utf-8-
*-# 可寫函式說明
def sum
( arg1, arg2 )
: # 返回2個引數的和."
total = arg1 + arg2
print "函式內 : "
, total
return total;
# 呼叫sum函式
total =
sum(10,
20);
Python基礎學習筆記 Day 4
目錄 1 函式的基本使用 1 1 函式簡介與功能 1 2 函式的定義 1 3 函式的使用 2 函式的引數傳遞 2.1 可選引數傳遞 2.2 引數名稱傳遞 2.3 函式的返回值 3 變數作用域 3.1 區域性變數 3.2 區域性變數 4 復用 def 函式名 引數列表 函式體 return 返回值列表...
Python學習筆記 day4 基礎知識
二 函式的引數與作用域 三 函式返回值 函式相當於程式設計過程中剪下貼上的操作,可以降低 冗餘,將複雜的系統分解為可管理的部分。最大化 重用和最小化 冗餘 實現流程的分解。def是乙個可執行語句,即在python執行到def語句之前函式並不存在。因此def語句的作用是建立乙個函式物件並將其賦值給乙個...
機器學習基礎DAY4
機器學習一般的資料集會劃分為兩個部分 訓練資料 用於訓練,構建模型 測試資料 在模型檢驗時使用,用於評估模型是否有效 訓練集與測試集佔比一般是 0.8,0.2 0.7,0.3 0.75,0.25 其中最後一種用的最多 以鳶尾花資料集為例 from sklearn.datasets import lo...