python也支援函式功能,但是定義了一些簡單規則
任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數
函式的第一行語句可以選擇性地使用文件字串-用於存放函式說明
函式內容以冒號起始,並且要縮排四個空格
return [表示式]結束函式,返回乙個值給呼叫方,不帶表示式的return相當於返回none
函式一般格式如下
def 函式名(引數列表):
函式體
示範用例:
def add(a, b):
return a+b
python函式引數傳遞分為可更改和不可更改物件
不可更改物件:類似於c/c++中的實參傳遞,例如整數,字串等等。python中的不可更改為string , tuples和number
示範用例:
def convert(nuber):
number = 10
age = 20
print(f"age: ")
convert(age)
print(f"age: ")
執行結果:
可更改物件:類似於引用傳遞,可以更改引數值,list, dict等為可更改物件
# 可寫函式說明
def changeme( mylist ):
"修改傳入的列表"
print ("函式內取值: ", mylist)
return
# 呼叫changeme函式
mylist = [10,20,30]
changeme( mylist )
print ("函式外取值: ", mylist)
執行結果:
函式引數型別:
必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。
關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。
使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。
示範用例:
#可寫函式說明
def printinfo( name, age ):
"列印任何傳入的字串"
print ("名字: ", name)
print ("年齡: ", age)
return
#呼叫printinfo函式
printinfo( age=50, name="runoob" )
執行結果:
在函式呼叫時,如果沒有傳遞引數,則會使用預設引數
示範用例:
#可寫函式說明
def printinfo( name, age=33 ):
"列印任何傳入的字串"
print ("名字: ", name)
print ("年齡: ", age)
return
#呼叫printinfo函式
printinfo( name="runoob" )
執行結果:
乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數。
基本語法格式
def functionname([formal_args,] *var_args_tuple ):
"函式_文件字串"
function_suite
return [expression]
示範用例:
#this one is like your script with ar**
def print_two(*args):
arg1, arg2 = args
print(f"arg1: , arg2: ")
print_two("zed", "shaw")
執行結果:
另外一種兩個*號格式:
def functionname([formal_args,] **var_args_dict ):
"函式_文件字串"
function_suite
return [expression]
使用範例:
# 可寫函式說明
def printinfo( arg1, **vardict ):
"列印任何傳入的引數"
print ("輸出: ")
print (arg1)
print (vardict)
# 呼叫printinfo 函式
printinfo(1, a=2,b=3)
執行結果:
如果單獨出現星號 * 後的引數必須用關鍵字傳入。
def f(a,b,*,c):
return a+b+c
f(1,2,c=3)
f(1,2,3)
執行結果:
學習筆記 笨方法學python
1.1 列表和字典 列表是有一組任意型別的值構成的有序列表,他由方括號構造而成 number list 1,2,3,4 mylist 1,a b 2,4 字典是由一組明值對構成的無序集合,由大括號構造而成 ages 可以通過以下方式訪問列表和字典中的元素 mylist 2 return a ages...
笨方法學python筆記 3
習題25之前幾個習題主要是閱讀別人寫的 做好記錄,然後記下來,雖然現在可能不太能理解一些語句,但是先過眼有個印象總歸沒有錯。習題25 老規矩,貼上自己敲出來的 敲 的時候想練練打字,試試不看鍵盤盲打敲,給無聊枯燥的碼 帶來一點樂趣。def break words stuff this functio...
笨方法學python
書結構非常簡單,其實就是 52 個習題而已。其中 26 個覆蓋了輸入輸出 變數 以及函式三個課題,另外 26 個覆蓋了一些比較高階的話題,如條件判斷 迴圈 類和物件 測試 以及專案的實現等。每一章節的格式基本都是一樣的,以 練習題開始,讀者照著說明 編寫 不允許複製貼上 執行並檢查結果,然後再做一下...