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)

运行结果:

python 函数定义放在后面 python自定义函数_numpy


实现方法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)

运行结果

python 函数定义放在后面 python自定义函数_python_02


4.总结

本文介绍了自定义函数的创建,(1)要牢记创建的格式:

def functionName(formalParameters):
       functionBody

(2)要熟练掌握,自定义函数的两种调用方式:一种是在同一个程序中定义,然后调用;另一种方式,是定义自己的函数库,在自己的函数库中创建自定义函数,再从自己的函数库调用需要的函数实现对自己编写函数的使用。