51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python基础 – 函数

初识函数

定义
函数是指封装了某一特定功能的代码块。

简单的讲,函数就是用来存储代码的"特殊变量"。

前面接触过的很多"功能"都是函数。

比如在屏幕上输出一些数据的print(),生成一个指定范围整数序列的range()等。

函数的功能是如何定义的呢?

定义函数

def sayWelcome():
    print("欢迎光临")
    print("商品一律九折")

代码的作用
这3行代码做的事情是定义了一个叫做"sayWelcome"的函数。

这个函数的功能是输出欢迎语内容。

def
一个关键字,def函数定义的关键字,是define的缩写。

sayWelcome
一个名称,函数名。
这里的名称其实就是变量名,只不过需要存储的不再是数据,而是代码,我们称为函数名。

括号
一对括号,是函数定义的标准格式。

冒号
一个冒号,表明接下来缩进的代码是属于这个函数的。

缩进
四个空格。

和判断、循环一样,函数内部的代码也需要缩进相应的空格。

函数体
几行代码组成的代码块。

实现该函数功能的代码块,称为函数体。

代码小结
当我们要定义函数时就需要这几个部分。

现在我们已经将输出欢迎语的代码打包,并为它贴上了sayWelcome的标签。当我们需要展示欢迎语时,只需要"打电话"(call)给电脑,让它在此处执行sayWelcome的代码。

在代码中使用我们已经定义好的函数,这个过程称为调用函数(Call Function)。

调用函数

def sayWelcome():
    print("欢迎光临")
    print("商品一律九折")

sayWelcome()
sayWelcome()

代码的作用
定义一个sayWelcome函数,实现输出欢迎语的功能。

第5、6行代码,调用了sayWelcome函数。

sayWelcome
一个名称,被调用的函数名。

程序通过函数名来定位函数体中的代码。

括号
一对括号,调用符号。

表示在此处执行该函数中的代码,是调用函数的标准格式。

代码小结
当我们要调用函数时就需要这几个部分。

代码执行顺序
函数体中的代码不是立刻执行的,而是等到该函数被调用时才执行。

我们可以理解为:函数的调用是一个迂回的路径。

当程序执行到第七行代码时,开始调用setWatermark函数时,并不会继续执行第八行代码,而是跳转到定义函数setWatermark()的内部

从第二行开始执行

直到第2,3,4行代码结束

再跳回到第7行代码,从而继续执行第8行代码

现在我们可以把需要重复使用的代码定义为一个函数,就像刚才的sayWelcome函数。

若我们希望修改函数中的内容怎么办呢?

若定义函数时预留一个位置接收数据。根据不同的情况传递不同的数据,就能更加灵活的解决刚才的问题。

这时候我们需要为函数"挖空",并在调用函数时"填空",即设置参数。

我们把提前挖好的"空"称为形参,把用来填空的数据称为实参。

形参与实参

定义
形参是形式参数的简称,指定义函数时设置的参数名称。

实参是实际参数的简称,指调用函数时实际传递的数据。

为函数设置参数

def sayWelcome(discount):
    print("欢迎光临")
    print(f"商品一律{discount}")

sayWelcome("九折")
sayWelcome("五折")

代码的作用
定义sayWelcome函数,并为它们设置一个参数discount。

第1行,定义sayWelcome函数并在括号中设置形参名称discount。

第3行,将discount形参放到函数体中使用,使discount中的数据按照指定的格式输出。

第5~6行,多次调用sayWelcome函数,并分别为discount形参传递实参数据"九折"、"五折"。

形参
定义一个形参,用来接收数据的参数名称。

形参
在代码中使用形参,接收到的数据会被传递到此处使用。

实参
实参,调用函数时传递给形参discount的数据。

代码小结
我们通过下面的代码为函数设置参数。

形参
形参是定义函数时设置的参数名称。

相当于我们定义了一个变量,但不需要给该变量赋值。

实参
实参是调用函数时传递给形参的数据。

相当于为形参变量赋值的数据。

参数可以定义多个,也可以不定义。

如果参数不止一个,多个参数之间可以用英文逗号","隔开。

根据函数的功能不同,我们可以传递不同类型的实参数据。

比如,我们可以把店铺名称与产品折扣都设置为参数。

小练习

计算BMI指数
请定义一个叫做"getBMI()"的函数,该函数包括2个参数height, weight,分别代表身高和体重。

这个函数的功能是通过一个人的身高和体重计算BMI指数,并用print输出结果。

BMI指数的计算公式为:BMI = 体重 /(身高X身高)

然后分两次调用这个函数:

第一次传入参数(1.83, 60)。

第二次传入参数(1.60, 50)。

def getBMI(height, weight):
    BMI = weight / (height * height)
    print(BMI)

getBMI(1.83, 60)
getBMI(1.60, 50)

请定义一个叫做"isOdd"的函数,该函数包括1个参数number,代表一个整数。

这个函数的功能是通过if语句判断number中的数字是否为奇数,并用print输出结果。

若此数为奇数,输出"奇数",否则输出"偶数"。 然后分两次调用这个函数:

第一次传入参数25。

第二次传入参数10。

# 定义isOdd函数
def isOdd(number):
    # 判断number是否为奇数
    if number % 2 == 1 :
        print("奇数")
    else :
        print("偶数")

# 调用isOdd函数
isOdd(25)
isOdd(10)
赞(2)
未经允许不得转载:工具盒子 » Python基础 – 函数