python筆記-函式
函式定義
函式程式碼塊以 def 關鍵詞開頭,後接函式識別符號名稱和圓括號()。
任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。
函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。
函式內容以冒號起始,並且縮排。
return [表示式] 結束函式,選擇性地返回一個值給呼叫方。不帶表示式的return相當於返回 None。
def functionname( parameters ):
"函式_文件字串"
function_suite
return [expression]
函式呼叫:直接寫函式名字(引數)
def printtest(str):
print(str)
return
printtest('aa')
可更改(mutable)與不可更改(immutable)物件
可更改:列表和字典
不可更改:strings, tuples, 和 numbers 是不可更改的物件
python 中一切都是物件,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變物件和傳可變物件
傳不可變物件例項
#!/usr/bin/python
def ChangeInt( a ):
a = 10
b = 2
ChangeInt(b)
print b # 結果是 2
傳可變物件例項
#!/usr/bin/python
def changeme( mylist ):
"修改傳入的列表"
mylist.append([1,2,3,4]);
print "函式內取值: ", mylist
return
mylist = [10,20,30];
changeme( mylist );
print "函式外取值: ", mylist
輸出結果
函式內取值: [10, 20, 30, [1, 2, 3, 4]]
函式外取值: [10, 20, 30, [1, 2, 3, 4]]
引數:
必備引數:必備引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。
呼叫printme()函式,你必須傳入一個引數,不然會出現語法錯誤
關鍵字引數
#!/usr/bin/python
#可寫函式說明
def printme( str ):
"列印任何傳入的字串"
print str;
return;
#呼叫printme函式
printme( str = "My string");
預設引數
呼叫函式時,預設引數的值如果沒有傳入,則被認為是預設值
#!/usr/bin/python
#可寫函式說明
def printinfo( name, age = 35 ):
"列印任何傳入的字串"
print "Name: ", name;
print "Age ", age;
return;
#呼叫printinfo函式
printinfo( age=50, name="miki" );
printinfo( name="miki" );
不定長引數
你可能需要一個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數,和上述2種引數不同,宣告時不會命名
#!/usr/bin/python
def printinfo( arg1, *vartuple ):
"列印任何傳入的引數"
print "輸出: "
print arg1
for var in vartuple:
print var
return;
printinfo( 10 );
printinfo( 70, 60, 50 );
return 語句
return語句[表示式]退出函式,選擇性地向呼叫方返回一個表示式。不帶引數值的return語句返回None
def sum( arg1, arg2 ):
total = arg1 + arg2
print "函式內 : ", total
return total;
total = sum( 10, 20 );
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1343/viewspace-2809695/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 筆記:Python函式筆記Python函式
- python學習筆記(六)——函式Python筆記函式
- 【廖雪峰python入門筆記】函式Python筆記函式
- Python學習筆記_函式_匯入模組Python筆記函式
- python程式設計學習筆記⑦-1函式Python程式設計筆記函式
- 【筆記】普通生成函式筆記函式
- python3 筆記12.字串支援的函式Python筆記字串函式
- python3 筆記16.構建函式defPython筆記函式
- python3 筆記15.通過range()函式來了解函式的作用Python筆記函式
- Python機器學習筆記:SVM(2)——SVM核函式Python機器學習筆記函式
- async函式學習筆記。函式筆記
- 生成函式 學習筆記函式筆記
- substr擷取函式 筆記函式筆記
- PHP筆記:建構函式與解構函式PHP筆記函式
- Python零基礎學習筆記(二十四)——函式Python筆記函式
- Golang學習筆記-1.6 函式Golang筆記函式
- JavaScript學習筆記 - 原生函式JavaScript筆記函式
- MYSQL學習筆記14: 函式MySql筆記函式
- MySQL 8.0 視窗函式-筆記MySql函式筆記
- TS學習筆記(四):函式筆記函式
- Oracle學習筆記(6)——函式Oracle筆記函式
- python學習筆記:第10天 函式進階和作用域Python筆記函式
- python3 筆記14.列表元組字典支援的函式Python筆記函式
- Python筆記-列表推導式Python筆記
- MYSQL學習筆記7: 聚合函式MySql筆記函式
- C++學習筆記(二)——函式C++筆記函式
- OpenCV學習筆記(4)——mixChannels函式OpenCV筆記函式
- OpenCV學習筆記(5)——normalize函式OpenCV筆記ORM函式
- Flutter學習筆記(4)--Dart函式Flutter筆記Dart函式
- 《Haskell趣學指南》筆記之函式Haskell筆記函式
- js純函式學習筆記(一)JS函式筆記
- c語言學習筆記===函式C語言筆記函式
- python程式設計:從入門到實踐學習筆記-函式Python程式設計筆記函式
- 【C++筆記】虛擬函式(從虛擬函式表來解析)C++筆記函式
- 【C++筆記】虛擬函式(從虛擬函式概念來解析)C++筆記函式
- Django筆記二十五之資料庫函式之日期函式Django筆記資料庫函式
- Django筆記二十七之資料庫函式之文字函式Django筆記資料庫函式
- Python學習筆記|Python之推導式Python筆記