Python回调函数

直接上例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 平时是普通函数,当作为参数被调用时,就变成回调函数,这下面的回调函数是max,min,sum
def computer(a, b, func):
return func(a, b)

def max(a, b):
return [a, b][a<b]

def min(a, b):
return [a, b][a>b]

def sum(a, b):
return int(a)+int(b)

a = input("input a:")
b = input("input b:")

print("Max:", computer(a, b, max))
print("Min:", computer(a, b, min))
print("Sum:", computer(a, b, sum))

执行:

1
2
3
4
5
6
$ python3.6 callback_func.py 
input a:5
input b:4
Max: 5
Min: 4
Sum: 9

例子里的[a, b][a<b]是一个小技巧,Python中True与1相等,False与0相等:

1
2
3
4
5
6
>>> 1==True
True
>>> 0==False
True
>>> [1,2][True]
2

- - END - -


腾讯云
0%