Python初识函数

2021-01-23 18:16

阅读:639

什么是函数

  在编程语言中的函数不同于数学中的函数。不管是数学上的函数还是编程语言中的函数都是为了完成特定的某一功能而诞生的,他们的区别在于:

 

1.数学中的函数当输入的值是固定的情况下那么输出的值也一定是固定的。它内部不允许原本输入的值状态发生改变。

2.编程语言中的函数则可以允许传入的值进行修改的。如果按照数学函数的定义来做编程语言的函数,那么这种函数则被称为纯函数(pure function)

 

  在Python中,函数主要有两类。一类是我们已经接触过的内置函数(如:print(),open(),id()...),而另一类则是我们将要学习的自定义函数。

  内置函数又被称为工厂函数,工厂函数是Python内部原本就定义好的函数只需要人们去调用即可,它的创建初衷是是对于大多数人来说都会使用上且重复使用频率较高的一些,并不需要人们再去重复的实现一次具体功能,而是直接调用Python写好的方法即可

  而自定义函数则是在内置函数无法完成需求的情况下,由开发人员去自己创作的为了满足特定的某一项功能的可重复使用的具体代码集合

为什么要有函数

  可以没有函数,早期的编程语言中确实没有函数。就比如Linux操作系统内核代码就全部是由流式(面向过程)的编程思想写的。

  函数主要解决流式代码的两大问题:

 

  1. 代码冗余度高,程序的组织结构不清晰,可读性差
  2. 可维护性以及可扩展性差

 

  在没有学习函数之前我们的所有代码都是以流式的方式写的(这里先不谈什么思想不思想,初学者没那么高的层次,就用流式来说)。比如,我要在程序的一百处不同地方打印 hello,world 。那么按照流式的处理是没有较好的解决方案的只能一次一次的print(),这就造成了代码冗余度高的问题,而且重复代码越多代码可读性越差,为了解决这种问题所以诞生了函数,记住函数的一个特点,可重复调用(或者说使用)

  并不是说面向过程的编程思想不好(这里着重说明,新手不会函数的情况下不得不写出的代码才叫流式,高手人家那叫面向过程),很多操作系统底层的实现代码其实都是基于面向过程的思想来写的。这里只是顺便提一嘴。

怎么使用函数

   函数使用和变量的使用都是一样的。即:先定义,后调用。但是内置函数除外,内置函数是Python内部帮你定义好的函数,直接使用即可。下面用一个简短的例子来看一下函数到底该怎么用。

"""
^ 代表可选
def 函数名(参数1^,参数2^..):
  """功能描述"""^ 逻辑体 ^ return 返回值 ^ 函数名()
""" def func(): print("hello,world") # 函数体 print(func) # 函数名就相当于变量名。存储了函数体代码的内存地址 func() # 函数调用 func() func() func() # ==== 执行结果 ==== """ hello,world hello,world hello,world hello,world """
=====定义函数时发生的事=====
1.申请内存空间保存函数体代码
2.将上述内存地址绑定给函数名
3.定义函数并不会执行函数体内部代码,但是会检测函数体的语法

=====调用函数时发生的事=====
1.通过函数名找到函数的内存地址。
2.加上括号是一种语法格式,代表执行函数体内部代码


评论


亲,登录后才可以留言!