目录
1、首先,看看我们之前使用的函数,传入形参的都是数据,例如:
2、而我们的函数作为参数传递则与上面的相反,它是先讲数据作为一个函数先定义好,然后再定义一个运算的函数。最后,调用数据函数时,将运算函数作为参数。如:
一:先弄懂他的原理:这个函数作为参数传递是啥意思呢?
1、首先,看看我们之前使用的函数,传入形参的都是数据,例如:
def a(x, y): # 接收到的:数字、字符串、字典、元组、列表。归纳为数据。 return print(x + y) # 函数体中的为 运算 a(1, 2) # 括号中的实参都为数据
所以我们可以看出,运算的代码在函数中,而我们只用将数据传入参数中,就可以进行运算得到结果。
———————————————分割———————————————
2、而我们的函数作为参数传递则与上面的相反,它是先讲数据作为一个函数先定义好,然后再定义一个运算的函数。最后,调用数据函数时,将运算函数作为参数。如:
def a(ss): # 定义一个函数体为数据的函数。此处的形参负责接收之后定义的运算函数。 abc = b(1, 2, 3) # 此处的b 为函数,括号中的为实参。===》调用下面的函数b并且运算后将结果赋给abc print(abc) # 输出变量的结果 def b(x, y, z): # 定义一个函数b,形参对应上面函数b中的实参。 return x + y + z # 调用这个函数时返回运算逻辑 a(b) # 调用a,并将 函数b作为参数传递。
所以就是将一份数据作为函数定义好,然后定义一个运算的函数并作为参数传入。
———————————————————分割线—————————————————————
二:总结:
两者都区别在于:
一个是将运算的逻辑定义好,并作为函数。然后调用函数时,传入数据,就可以得到结果。
而另一个则是将数据作为函数定义好,再定义一个用来运算的函数,并将这个函数作为参数,放在(定义好数据的)函数的括号中,让其被调用。
三:总结中的总结:
函数作为参数传递就是计算逻辑的传递,而非数据的传递。
一个是传递运算逻辑,对已经定义好的数据的函数进行运算。一个是传入数据,通过已经定义好运算逻辑的函数进行运算。
———————————————————————————————————————
总之就是:一个是函数中放运算表达式,然后传入的是数据。
另一个是函数中放数据,然后传入放表达式的函数。