● 函式的定義
1.關鍵字: def
● 引數傳遞方式
1.定長引數:
如:def printinfo( name, age = 35 ):
"列印任何傳入的字串"
print "name: ", name
print "age ", age
return
#呼叫printinfo函式
printinfo( age=50, name="miki" )
printinfo( name="miki" )
就是正常的傳遞, 加個預設值就是預設引數; python的定長引數有個特性就是可以設定關鍵字引數, 就是呼叫的時候可以指定引數名
進行賦值,這樣就不用再管引數的傳遞順序, python會自動根據引數名匹
配.2.不定長引數
如:def printinfo( arg1, *vartuple ):
"列印任何傳入的引數"
print "輸出: " print arg1
for var in vartuple:
print var
return
# 呼叫printinfo 函式
printinfo( 10 )
printinfo( 70, 60, 50 )
標註: *單星號標識接受的資料格式是元組, 傳遞引數是不用傳遞引數名; **雙星號標識接受的資料格式是字典, 傳遞引數用傳遞引數名
● 引數傳遞的變數物件
1.可更改的物件:
list,dict 等則是可以修改的物件
類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的變數也會受影響
2.不可更改的物件:
strings, tuples, 和 numbers 是不可更改的物件
類似 c++ 的值傳遞,如 整數、字串、元組。如fun(a),傳遞的只是a的值,沒有影響a物件本身。比如在 fun(a)內部修改 a 的值,
只是修改另乙個複製的物件,不會影響 a 本身
標註: python中的元組這個複雜性變數也屬於不可變物件引數型別
● 匿名函式
1.關鍵字: lambda
如: # 可寫函式說明
sum = lambda arg1, arg2: arg1 + arg2
# 呼叫sum函式
print "相加後的值為 : ", sum( 10, 20 )print "相加後的值為 : ", sum( 20, 20 )
# 呼叫sum函式
print "相加後的值為 : ", sum( 10, 20 )print "相加後的值為 : ", sum( 20, 20 )
標註:lambda的主體是乙個表示式,而不是乙個**塊。僅僅能在lambda表示式中封裝有限
的**邏輯.
●返回1.關鍵字: return
python 中的return返回也會打斷**, return後面沒值時返回none
●變數作用域
1.全域性變數&&區域性變數
函式體內的屬於區域性變數, 外部的屬於全域性變數
Python函式小結
第四章 函式總結 1 函式返回值return總結 2 函式 作用域 乙個識別符號的可見範圍,這就是識別符號的作用域。一般常說的是變數的作用域 全域性作用域 在整個程式執行環境中都可見 區域性作用域 1 在函式 類等內部可見 2 區域性變數使用範圍不能超過其所在的區域性作用域 eg x 5 def f...
python函式小結歸納
總結了幾種函式的形式,大致有 1.無參函式 2.有參函式 3.有參預設函式 4.有參無序函式 5.函式動態引數,乙個 是元組 6.函式動態引數,兩個 是字典 無參函式 deffun a 5 b 3print 無參函式結果 print a b fun 有參預設函式 不在實參中傳入值的情況 parame...
python小結 python小結
c python33新增到你的path 環境變數中,你可以在dos 視窗中 輸入以下命令 set path path c python33 id 方法的返回值就是物件的記憶體位址。在 行 首行 後插入至少一行特殊的注釋行來定義原始檔的編碼。coding encoding sys.modules 模組...