一、函数
1)定义
函数是指封装了某一特定功能的代码块。简单的讲,函数就是用来存储代码的“特殊变量”。
比如在屏幕上输出一些数据的print(),生成一个指定范围整数序列的range()等。
2)定义函数
这3行代码做的事情是定义了一个叫做“sayWelcome”的函数。 这个函数的功能是输出欢迎语内容。
现在我们已经将输出欢迎语的代码打包,并为它贴上了sayWelcome的标签。当我们需要展示欢迎语时,只需要“打电话”(call)给电脑,让它在此处执行sayWelcome的代码。
在代码中使用我们已经定义好的函数,这个过程称为调用函数(Call Function)。
3)调用函数
代码执行顺序:
函数体中的代码不是立刻执行的,而是等到该函数被调用时才执行。
1、必选参数
函数的一种参数类型,在调用这个函数的时候必须传入数据的参数。
在传递必选参数时,形参会按照定义的顺序依次接收数据。调用函数时第一个参数传递给name,第二个参数传递给pet。
在调用函数时,缺少或超出对必选参数的传递会导致程序错误。也就是说,在函数中定义了多少个必选参数就要传递多少个实参。
当我们忘记了传递顺序时,可以利用“形参名=实参名”的方式传递实参。这样以关键字传递实参的形式,简称为关键字实参。
若定义一个计算圆形面积的函数,设定参数为半径(radius)与圆周率(pi)。多数情况下,圆周率都会近似为3.14。若pi不是必选参数,设其默认为3.14。只在需要修改圆周率时传递数据,函数调用起来会方便很多。
2、默认值参数
定义一个函数getArea,根据传递的半径与圆周率,计算圆的面积并输出。在第1行,定义形参radius与pi,并为pi设定默认值为3.14。在第5行,调用函数getArea,并传递数据2。在第7行,调用函数getArea,并传递数据2与3.14159。
def getArea(radius, pi=3.14):
ret = radius * radius * pi
return ret
ret1 = getArea(2)#这里表示调用函数,只为必选参数传递整数2
print(ret1)
ret2 = getArea(2, 3.14159)#这里表示传递两个实参,传递参数2与3.14159。此时pi接收到的实参数据3.14159会覆盖默认值3.14。
print(ret2)
结果
12.56
12.56636
3、必选参数
一串字母radius,必选参数。必选参数要定义在默认值参数之前。即默认参数可以有任意个,但必须定义在必选参数之后(若必选参数存在)。
4)修改函数内容
若定义函数时预留一个位置接收数据。根据不同的情况传递不同的数据,就能更加灵活的解决刚才的问题。
这时候我们需要为函数“挖空”,并在调用函数时“填空”,即设置参数。
行参与实参
形参是形式参数的简称,指定义函数时设置的参数名称。
实参是实际参数的简称,指调用函数时实际传递的数据。
def sayWelcome(discount):
print("欢迎光临")
print(f"商品一律{discount}")
sayWelcome("九折")
sayWelcome("五折")
结果
欢迎光临
商品一律九折
欢迎光临
商品一律五折
参数可以定义多个,也可以不定义。如果参数不止一个,多个参数之间可以用英文逗号“,”隔开。