首页 > 代码库 > Python函数

Python函数

函数就是一个通用的程序结构部件:在程序中主要扮演两个角色

一、最大化的代码重用和最小化代码冗余。函数允许整合以及通用化代码,以便能够以后多次使用代码。

二、流程的分解。函数也提供了一种将一个系统分割为定义完好的不同部分的工具。一般来说,函数讲的是流程:

告诉你怎样去做某事,而不是让你使用它去做的事。

 

编写函数

  • def是可执行的代码--函数并不存在,直到Python运行了def后才存在。事实上,在if语句、while循环甚至是其他的def中嵌套是合法的。
  • def创建了一个对象并将其赋值给某一变量名。当Python运行到def语句时,它将会生成一个新的函数对象并将其赋值给这个函数名。类似于所有的赋值一样,函数名变成了某一个函数的引用。
  • lambda创建了一个对象但将其作为结果返回。用lambda表达式可以创建函数,这一功能允许我们把函数定义内联到语法上一条def语句不能工作的地方
  • return将一个结果对象发送给调用者。当函数被调用时,其调用者停止运行直到这个函数完成了它的工作,之后函数才能将控制权返回调用者。函数是通过return语句将计算得到的值传递给调用者的,返回值成为函数调用的结果。
  • yield下个调用者发挥一个结果对象,但是记住它离开的地方。想生成器这样的函数也可以通过yield语句来返回值,并挂起它们的状态以便稍后能够恢复状态。
  • global声明了一个模块级的变量并被赋值。在默认情况下,所有在一个函数中被赋值的对象是这个函数的本地变量,并且仅在这个函数运行的过程中存在。为了分配一个可以在整个模块都可以使用的变量名,函数需要在global语句中将它列举出来。一般,变量名往往需要关注它的作用域,并且是通过实赋值语句将变量名绑定至作用域的
  • 函数是通过赋值传递的
  • 参数、返回值以及变量并不是声明。

def语句的一般格式:

1 def <name>(arg1, arg2, arg3,..., argN):
2     <statement>

Python的return语句可以在函数主体中的任何地方出现。它表示函数调用的结束,并将结果返回至函数调用处。return语句包含一个对象表达式,这个对象给出的函数的结果。

return语句是可选的。如果它没有出现,那么函数将会在控制流执行完函数的主体时结束。从技术上角度来讲,一个没有返回值的函数自动返回了None对象,但是这个值往往

被忽略掉。

Python中所有的语句都是实时执行的,没有像独立的便器时间这样的流程。

 

Python中的多态

多态:一个操作的意义取决于被操作对象的类型。

在Python中不应该关心特定的数据类型。。在Python中我们为对象编写接口,而不是数据类型。

 

将一些代码放在函数的好处:

  • 把代码放在函数中让它能够成为一个想运行多少次就运行多少次的工具;
  • 因为调用者可以传递任意类型的参数,函数对于任意两个希望寻找其交集的序列都是通用的。
  • 当逻辑由一个函数进行封装的时候,一旦需要修改重复性的任务只需要在函数里进行修改搜索交集的方式就可以了。
  • 在模块文件中编写函数意味着它可被计算机中的任意程序来导入和重用。

  

 

Python函数