函数

1.Python的函数是由def语句编写。Python中,函数也是一种对象类型

  • def是一个可执行语句。Python与行了def语句后函数对象才存在,之前该函数对象不存在
  • Python运行到def语句时,它将会生成一个新的函数对象,并将该函数对象赋值给这个函数名。函数名成了这个函数对象的引用
  • lambda表达式创建一个函数对象并返回它,但是它并没有绑定一个名字即它是匿名的没有函数名
  • return语句将一个结果对象发送给调用者
  • yield语句使得函数成为一个生成函数
    函数定义

2.函数参数没有任何类型约束,返回类型也没有任何类型约束

3.Python函数定义语句:

    def func_name(arg1,arg2):
        statement

在执行完def语句时,Python创建一个函数对象并将它赋值给func_name变量。

  • return语句是可选的。若无return,则默认自动返回None对象
  • def语句可以出现在任何语句可以出现的地方,甚至是嵌套在其他语句中。
  • 与C语言不同,Python函数在程序运行之前不需要全部定义。def在它定义的地方时才评估,而def的之内的代码在函数调用的时候才求值。
    函数定义与执行区别

4.函数仅仅是对象类型,函数名也仅仅是变量名,它们没有任何特殊之处。

  • 函数对象有函数调用方法operator ()
  • 函数对象允许任意的属性添加func.attr=value
    函数对象

5.函数主体内的代码直到函数被调用时才运行。函数内的变量名在函数实际执行之前都不会解析。