函数是将执行特定任务或特定功能的一段代码整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。它
函数在开发过程中,可以更高效的实现代码重用。还可以提高可维护性和可读性,便于调试。
python中有很多内置函数,可以通过 help() 来查看函数的说明文档。
例如,查看 max() 的说明文档。
help(max) # 查看max函数的说明文档
定义函数
语法格式:
def 函数名(参数列表):
'''函数说明文档'''
函数封装的代码块
[return xxx]
定义函数以 def 关键字开始。
函数名:自己定义的,符合 python 标识符命名规则(字母、数字和下划线组成;不能以数字开头;不能和关键字重名)即可,最好见名知意,也就是能表达函数封装的代码功能,这样方便后续调用。
参数列表:可以接收多个参数,参数之间用英文逗号隔开。可有可无。
函数说明文档:说明函数实现的功能,可写可不写。添加说明文档可以帮助我们快速了解函数实现的功能。
[return xxx]:返回一个值给调用方。可以有返回值也可以没有返回值,需要根据实际情况而定。return 用来结束函数。
根据 PEP 8 ,函数的前后都应该有两行空格。
例如:
def fun_add(a,b):
return a+b
# 如果定义一个函数还没想好代码块怎么写,可以先写上pass
def demo():
pass
函数的说明文档
在定义函数的下方,使用连续的三对引号,在引号之间编写对函数的说明文档。
查看函数说明文档
1)使用 help() 函数
2)在函数调用处,使用快捷键 Ctrl+Q。
3)还可以光标移到函数调用处,选择 View —> Quick Documentation,也可以查看函数的说明文档。
def fun_add(a,b):
'''
求和函数
:param a:
:param b:
:return:
'''
return a+b
# 可以通过help()函数查看函数的说明文档
help(fun_add)
num1 = 10
num2 = 20
result = fun_add(num1,num2)
print(result)
函数调用
语法格式:函数名([实际参数])
多个实参之间使用英文逗号隔开。
# Python解释器看到def知道下方定义了一个函数(带缩进的代码),只有在程序中主动调用函数,才会执行函数
def fun_add(a,b): # 3、跳到定义函数的地方,接收参数
return a+b # 4、执行函数体,并将结果返回
# 1、先给变量赋值
num1 = 10
num2 = 20
# 2、调用fun_add()函数,并将num1,num2作为参数传递进去
result = fun_add(num1,num2) # 5、将fun_add的返回值赋给result变量
# 函数体执行完成后,回到之前的程序中,继续执行后面的代码
# 6、打印输出result
print(result) # 30
函数的执行流程:
当调用函数时,Python 解释器会回到定义函数的地方去执行下方带缩进的代码,当这些代码执行完(如果遇到 return ,后面带缩进的代码不会再执行),再回到调用函数的地方,继续向下执行代码。
这个执行流程通过 Pycharm 中的 Debug 调试工具可以清楚的看到。
函数的返回值
在程序开发中,有的时候,想要一个函数执行完成后,告诉调用者一个结果,方便调用者的后续处理。就要使用 return 来返回这个结果。
调用者可以使用一个变量来接收函数的返回结果。
函数返回值可有可无。
a、函数无返回值,return 可省略。
b、只有一个返回值,直接返回原类型。
c、当函数有多个返回值时,return 后面跟多个要返回的数据,多个数据之间用英文逗号间隔(return a,b,c),结果为元组。(可以拆包,即使用多个变量去接收返回值)
return 后面可以连接列表、元组或者字典,用来返回多个值。
def fun(num):
odd = [] # 存放奇数
even = [] # 存放偶数
for i in num:
if i%2: odd.append(i)
else: even.append(i)
return odd,even
lst = [10,23,32,12,54,89,76,90]
print(fun(lst)) # ([23, 89], [10, 32, 12, 54, 76, 90])
# 拆包,使用多个变量去接收返回值
lst1,lst2 = fun(lst)
print('lst1 =',lst1,',lst2 =',lst2) # lst1 = [23, 89] ,lst2 = [10, 32, 12, 54, 76, 90]
函数的嵌套调用
一个函数的里面又调用了另外一个函数。
例如在 test() 函数中调用 demo() 函数:
当 test() 函数执行到调用 demo() 函数时,会先把 demo() 函数中的代码执行完成后,才会回到 test() 中调用 demo() 函数的位置,继续执行后续代码。
代码演示:
def demo():
print('demo被调用')
def test():
print('*' * 10)
demo()
print('test')
print('*' * 10)
test()
例如:求三个数的平均值
def fun_sum(a,b,c):
return a+b+c
def average(x,y,z):
# 把接收到的参数传给另一个函数
sum3 = fun_sum(x,y,z) # 调用求和函数,将三个数的和赋给变量 sum3
return sum3/3
result = average(2,5,8)
print(result)
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
暂无评论内容