在了解了官方的函数后,你也可以学习如何定义自己的函数。在Python中,定义函数需要用到关键字 def,它本身也是一个保留字。
其语法如下:
函数内部的代码
return 返回值(可选)
例如,定义一个简单的函数,用于打印问候语:
print("你好!欢迎学习Python!")
然后,你可以在脚本中调用这个函数:
函数的名称在同一程序中必须是独立的,我们可以通过调用这个名称来执行函数。函数名称后需要使用小括号,函数可以有多个参数,这时候我们会在括号内用逗号区隔开多个参数,这些参数可以在后面的语句中进行调用。如果函数没有参数,括号内留空即可。函数内部的语句在函数被调用时执行,注意函数内的语句都需要进行缩进。
举例来说,我们在前面学习中有一个计算阶乘结果的课后练习。假如我们的代码是这样的:
while a <= 50:
f= f * a
a= a + 1
print(f)
我们现在可以把这个计算阶乘功能的代码转化为一个函数:
a, f = 1, 1
while a <= n:
f=f* a
a=a+ 1
print(f)
定义完这个函数后直接运行程序将不会得到任何结果,我们需要在程序的后续部分调用函数的名称来实际执行这个函数:
在调用时,我们对函数传入了一个参数 50,这样在函数的执行过程中,函数中定义的参数 n 的实际值便为 50。通过调用函数的方式得到的结果与前面直接进行阶乘运算完全相同,但我们将阶乘运算封装成一个函数将使得程序阅读起来更为清晰。
函数运行后得到的某一个变量可以用 return 关键字来返回。函数内不使用 return 语句时,其没有返回值。仍以阶乘运算为例,我们可以不打印出结果而是将结果返回。例如:
a, f = 1, 1
while a <= n:
f=f* a
a=a+ 1
return f
在设定返回值的情况下,调用函数将直接得到其返回值。例如使用 factorial(50) 将直接获得 50 的阶乘值,我们可以利用它对变量进行赋值,例如:
这一语句可以将 50 的阶乘值赋值给变量 result。
练习:
斐波那契数列指的是形如 1,1,2,3,5,8,13…… 的数列,其第一位和第二位均为 1,其后每一位等于前两位之和。现在请你将斐波那契数列的运算封装为一个函数,通过调用这个函数可以获取数列中任何指定位置的值。
AI 助教
提示:您可在此提出学习中遇到的问题。回答由 AI 生成,可能存在错误,请注意甄别。
