函数学习要点

函数是python的一等公民,是掌握python这门编程语言的关键,如何准确无误的理解其概念,如何得心应手的灵活运用,本篇教程尝试带给你一些启发。

1. 把函数定义与函数调用分开理解

1.1 函数定义

函数的定义由4部分组成

  1. def 关键字
  2. 函数名称
  3. 函数参数
  4. 函数体
def add(a, b):
    return a + b

函数体是指函数内部的代码,在上面的示例中,函数体内只有一行代码 return a + b

1.2 函数执行

使用def定义函数后,我们仅仅是定义了一个函数,这段代码什么也做不了,函数只有被执行,被调用才能运行函数体里的代码。而被执行,被调用的方式就是在函数名称后面加上一对小括号并传入相应的参数。

add(1, 4)

理解这段代码,要明确以下几点:

  1. add 是我们刚刚定义的函数
  2. add 后面加一对小括号,是在调用执行函数add,你可以引申为执行函数add函数体里面的代码
  3. 函数add 在定义时,定义了参数 a, b, 因此,在调用执行时必须明确告知a,b分别是什么
  4. a = 1, b = 4, a + b = 5, return将这个结果返回

执行这段代码,你在编辑器里什么也看不到,那是因为你并没有执行任何输出语句,所以程序不会输出任何东西,想要看到结果,可以这样操作

print(add(1, 4))

定义只需一次,调用执行可以有多次, 这就好比你自己打造了一把斧头,这把斧头你只打造了一次,但可以用它来砍树很多次。

2. 正确理解返回值

我们先说结论,任何函数都有返回值。很多人不能理解返回值,究其根本,是因为还不能理解为什么要定义一个函数,不理解函数存在的意义。

以前面所定义的函数 add为例,这个函数的功能是计算两个数的和,当我执行代码 add(1, 4)时就是在计算1 + 4的和, 这个和等于5,函数的return语句把结果5返回

num = add(1, 4)
print(num)

在这个示例中,add函数的返回值是5, 并最终赋值给变量num, 如果函数没有返回值,那么我们怎么知道add(1, 4)的结果呢?

3. 正确理解return语句

一旦遇到return语句,函数就结束了,这一点是很多人都忽略的一个事情,在你还不能完全理解掌握函数之前,你不妨先死记硬背,return的作用就是结束函数的执行并且返回结果。

如果函数里没有return语句,或者有return语句但执行过程中所走的逻辑分支里没有遇到return, 函数最终会默认返回None作为函数的返回值,因此我讲,任何函数都有返回值。

4. 理解参数的意义

当我们执行函数的时候,本质上是在执行函数体里面的代码,对于函数add来说,就是执行return a + b, 计算a + b的值,然后使用return语句将其作为函数的返回值返回。那么问题来了,a 是什么, b是什么?

我们在调用函数时,传入参数,就是告知程序,a 是什么,b是什么

def add(a, b):
    return a + b

print(add(1, 4))   # a=1, b=4
print(add(5, 4))   # a=5, b=4

每一次调用,都必须告知参数的具体值

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案