知行编程网知行编程网  2022-11-24 02:00 知行编程网 隐藏边栏  11 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python函数定义、函数调用详解的相关知识,包括if函数的使用方法,以及自定义函数这些编程知识,希望对大家有参考作用。

Python函数定义、函数调用详解

函数是 Python 程序的重要组成单位,一个 Python 程序可以由很多个函数组成。前面我们己经用过大量函数,如 len()、max() 等,使用函数是真正开始编程的第一步。

比如在程序中定义了一段代码,这段代码用于实现一个特定的功能。问题来了,如果下次需要实现同样的功能,难道要把前面定义的代码复制一次?如果这样做实在太傻了,这意味着每次当程序需要实现该功能时,都要将前面定义的代码复制一次。

正确的做法是,将实现特定功能的代码定义成一个函数,每次当程序需要实现该功能时,只要执行(调用)该函数即可。

通俗来讲,所谓函数,就是指为一段实现特定功能的代码“取”一个名字,以后即可通过该名字来执行(调用)该函数。

通常,函数可以接收零个或多个参数,也可以返回零个或多个值。从函数使用者的角度来看,函数就像一个“黑匣子”,程序将零个或多个参数传入这个“黑匣子”,该“黑匣子”经过一番计算即可返回零个或多个值。

从函数定义者(实现函数的人)的角度来看,他需要想清楚以下三点:

该函数需要几个需要动态变化的关键数据,这些数据应该定义为函数的参数。

函数需要传递出几个重要的数据(也就是调用函数的人想要得到的数据),而这些数据应该定义为返回值。

函数的内部实现过程。

函数定义和调用

函数必须在使用前定义。定义函数的语法如下:

def 函数名(形参列表):
    //由零条到多条可执行语句组成的函数
    [return [返回值]]

Python必须使用def关键字来声明一个函数,函数语法格式的详细描述如下:

函数名:从语法上看,函数名只需要是一个合法的标识符即可;从程序可读性的角度来看,函数名应该由一个或多个有意义的单词组成,每个单词中的字母全部小写,单词之间用下划线分隔。

形参列表:用于定义函数可以接收的参数。形参列表由多个形参名组成,以英文逗号(,)分隔。一旦在定义函数时指定了形参列表,那么在函数调用时就必须传入相应的参数值,即谁调用函数谁负责给形参赋值。

函数体中多条可执行语句之间有严格的执行顺序,总是先执行函数体之前的语句,总是最后执行函数体之后的语句。

下面的程序定义了两个函数,并在程序中调用它们:

# 定义一个函数,声明2个形参
def my_max(x, y) :
    # 定义一个变量z,该变量等于x、y中较大的值
    z = x if x > y else y
    # 返回变量z的值
    return z
# 定义一个函数,声明一个形参
def say_hi(name) :
    print("===正在执行say_hi()函数===")
    return name + ",你好!"
a = 6
b = 9
# 调用my_max()函数,将函数返回值赋值给result变量
result = my_max(a , b) # ①
print("result:", result)
# 调用say_hi()函数,直接输出函数的返回值
print(say_hi("孙悟空")) # ②

上述程序中定义了两个函数my_max()和say_hi(),my_max()和say_hi()两个函数分别在程序代码①和②处被调用。从下面的运行结果可以看出,当程序调用函数时,既可以将调用函数的返回值赋值给指定的变量,也可以将函数的返回值作为另一个函数的参数传递给另一个函数.

运行上面程序,将可以看到如下运行结果:

result: 9
===正在执行say_hi()函数===
孙悟空,你好!

在函数体中使用 return 语句可以显式地返回一个值,return 语句返回的值既可是有值的变量,也可是一个表达式。

例如上面的 my_max() 函数,实际上也可简写为如下形式:

def my_max(x, y) :
    # 返回一个表达式
    return x if x > y else y

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享