一、在python中函式也可以作為另乙個函式的引數,不限制是字串、陣列、集合、數字等。
下面看乙個例子:
# coding=utf-8
def sum(x, y):
return x + y
def sub(x, y):
return x - y
def test(fun, x, y):
return fun(x, y)
print sum(2, 3)
print test(sum, 2, 3)
print test(sub, 2, 3)
執行結果:
這裡我們可以看到在執行print(test(sum, 2, 3))時呼叫了sum函式。在把sum函式作為引數時sum函式的引數是不需要寫進來的。
這裡做乙個測試:
print test(sum(2, 3), 2, 3)
執行結果,出現了報錯,int物件不可呼叫:
二、由於在使用過程中不知道需要傳入乙個引數還是多個,這裡時候就可以換種寫法,傳入可變引數
# coding=utf-8
def test_tesult(fun):
def inner(*args, **kwargs):
try:
fun(*args, **kwargs)
print (u"程式未丟擲異常pass")
except:
print (u"程式丟擲異常fail")
return fun(*args, **kwargs)
return inner
@test_tesult
def my_test(a, b):
return a+b
print my_test(3, 5)
print my_test(3, 5, 1)
執行結果:
13 Python 裝飾器 偏函式
裝飾器 原函式 def now print 2019 01 10 print now.name 增加原函式的功能 def log func print call s func.name return func args,kw log def new print 2019 01 10 呼叫new函式時...
13 Python中的迭代器
迭代器是乙個資料流物件或容器,當使用其中的資料時,每次從乙個資料流中取乙個資料,直到資料被取完,而且資料不會被重複使用 實現自定義迭代器需要實現如下的方法 自定義異常示例 依次遍歷x的n次方,知道大於100時結束迭代 class myiterator def init self,x 2,max 10...
1 3 Python語法初探
input輸入 螢幕輸入 input 的小括號中放入的是,提示資訊,用來在獲取資料之前給使用者的乙個簡單提示 input 在從鍵盤獲取了資料以後,會存放到等號右邊的變數中 input 會把使用者輸入的任何值都作為字串來對待 str input 請輸入 請輸入 這裡是輸入完 直接的輸出 str inp...