编程离不开函数。Python的函数除了具备传统意义上的函数特征外,又被赋予了其他一些特性,让它更灵活、更强大。这篇文章结合之前我推荐的一本Python宝书,又添加一些我的实践和理解,总结了深入理解Python函数的9个黄金法则。

1 函数是对象

python根据年金和现值计算贴现率_Python

这意味着,yell能赋值给bark,如下所示:

python根据年金和现值计算贴现率_python_02

bark轻松被赋予yell的功能

python根据年金和现值计算贴现率_Python_03

2 删除函数

函数既然是对象,我们可以删除函数,如下:

python根据年金和现值计算贴现率_python_04

但是bark还是能够正常调用:

python根据年金和现值计算贴现率_后端_05

3 这说明:函数名字和函数本身完全是分开的

4 函数既然是对象,就可以结合数据结构使用

python根据年金和现值计算贴现率_python_06

python根据年金和现值计算贴现率_Python_07

5 函数既然是对象,就可以作为函数参数

python根据年金和现值计算贴现率_开发语言_08

python根据年金和现值计算贴现率_Python_09

6 函数既然是对象,就可以在嵌套在函数体内

如下所示,函数内再定义2个函数对象

python根据年金和现值计算贴现率_Python_10

7 内层函数对象能够记忆住父函数的变量

官方术语:闭包,记住这个例子:

python根据年金和现值计算贴现率_开发语言_11

python根据年金和现值计算贴现率_开发语言_12

python根据年金和现值计算贴现率_开发语言_13

8 所有的函数都是对象,但是所有的对象并不一定都是函数

9 对象成为函数需要实现__call__协议

实现__call__协议后,plus_3对象便成为函数,可以plus_3(4)了!强大。

python根据年金和现值计算贴现率_后端_14

以上就是9个灵活使用函数的黄金法则,希望对你有用。

最后我还赠送一份python大礼包给大家【加君羊:605018913】帮助大家更好的学习!

python根据年金和现值计算贴现率_后端_15