Python中的自定义函数创建方法和应用举例
在Python语言中,函数是一组能够完成特定任务的语句模块,可分为内置函数、第三方模块函数和自定义函数。其中,内置函数是Python系统自带的函数;模块函数是NumPy等库中的函数。
1.自定义函数概念
Python中定义函数的语法如下:
def functionName(formalParameters):
functionBody
(1)functionName是函数名,可以是任何有效的Python标识符。
(2)formalParameters是形式参数列表,在调用该函数时通过给形参赋值来传递调用值,形参可以是0个,1个或多个;当是多个形参时,各个参数由逗号分隔,比如:
'''
函数功能的说明
函数原理的说明
函数实现过程的说明等
'''
def myfunction1(formalParameter1,formalParameter2, formalParameter3):
functionBody
形参列表外的圆括号不可少的,即使没有参数也不能少圆括号。圆括号外面的冒号也不能少。
(3)functionBody是函数体,是函数每次被调用时执行的一组语句,可以由一个语句或多个语句组成。函数体一定要注意缩进。函数体内容不可为空,可用pass来表示空语句。
(4)函数注释内容,函数通常使用3个单引号’‘’注释内容’''来说明本函数的作用和实现原理等。
2.定义函数注意事项
(1)函数定义必须放在函数调用前,否则编译器会由于找不到该函数而报错;
(2)返回值不是必需的,如果没有return语句,则Python默认返回值None。
3.自定义函数举例和应用
例子:分别编写求n!和输出斐波拉契数列的函数,并调用两个函数进行测试。
解答
实现方法1:直接在同一个.py文件中实现,比如文件名为ex0519_1.py,其具体程序代码如下
'''
本函数是练习自定义函数的创建
'''
#第一步自定义两个函数my_factorial和my_fib
def my_factorial(N): #定义阶乘函数
product=1
while N>1:
product=product*N
N=N-1
return product
'''注意:其中
product=product*N
N=N-1
等效于
product*=N
N-=1
'''
def my_fib(M): #定义输出斐波拉契数列函数
a,b=1,1
while a<M:
print(a,end=' ')
bm=a+b
a=b
b=bm
'''注意:其中
bm=a+b
a=b
b=bm
等效于
a,b=b,a+b
'''
#第二步:调用定义的函数进行计算
print('%d!=%d'%(4,my_factorial(4)))
my_fib(200)
运行结果:
实现方法2:采用调用子函数的方式实现。
首先,创建自己的自定义函数库my_function_library,其Python文件命名为my_function_library.py,并将两个子函数写入,自定义函数库中,其代码为
'''
自己创建的函数库my_function_library,其中包括两个函数
'''
def my_factorial(N): #定义阶乘函数
product=1
while N>1:
product=product*N
N=N-1
return product
def my_fib(M): #定义输出斐波拉契数列函数
a,b=1,1
while a<M:
print(a,end=' ')
bm=a+b
a=b
b=bm
其次,写一程序,调用自定义函数库中的两个函数。比如,这个程序名称为ex0519_2.py,其程序代码为:
from my_function_library import my_factorial,my_fib
print('%d!=%d'%(6,my_factorial(6)))
my_fib(256)
运行结果
4.总结
本文介绍了自定义函数的创建,(1)要牢记创建的格式:
def functionName(formalParameters):
functionBody
(2)要熟练掌握,自定义函数的两种调用方式:一种是在同一个程序中定义,然后调用;另一种方式,是定义自己的函数库,在自己的函数库中创建自定义函数,再从自己的函数库调用需要的函数实现对自己编写函数的使用。