python函数的定义与使用(Python学习十一函数的定义与实际使用详解)
什么是函数?
执行特定任务用以完成特定功能的一段代码。
为什么需要使用函数?
1)提高代码的复用性
2)隐藏实现细节
3)提高可维护性
4)提高代码可读性(便于维护调试)
函数的创建方式如下图:
# 自定义函数 [a,b称为形式参数,简称形参。形参的位置是在函数的定义处]
def calc(a,b):
c = a b
return c
# [10,20称为实际参数的值,简称实参。实参的位置是函数的调用处]
result = calc(10,20)
print('函数运行结果为:',result)
函数调用的参数传递【位置实参、关键字实参】
位置实参:根据形参对应的位置进行实参传递
关键字实参:根据形参名称进行实参传递
# [=左侧的变量名称称为 关键字参数]
result_ = calc(b=10,a=20)
print('函数运行结果为:',result_)
函数参数传递的内存分析
# 自定义函数
def fun(arg1,arg2):
print('参数1:','arg1',arg1,'\t','参数2:','arg2',arg2)
arg1 = 100
arg2.append(10)
print('参数1:','arg1',arg1,'\t','参数2:','arg2',arg2)
# return
# 如果函数参数是不可变对象,在函数中的操作不会影响实际参数的值。如:arg1值修改为100,实际参数值n1没有发生改变;
# 如果函数参数是可变对象,在函数中的操作会影响实际参数的值。如:arg2值.append(10),实际参数值n2发生改变;
n1 = 11
n2 = [22,33,44]
初始实际参数值: n1 11 n2 [22, 33, 44]
print('初始实际参数值:','n1',n1,'\t','n2',n2)
# 函数调用 [位置传参;arg1,arg2:函数定义的形参;n1,n2:函数调用的实参;(实参名称与形参名称可以不一致)]
fun(n1,n2)
调用函数后实际参数值: n1 11 n2 [22, 33, 44, 10]
print('调用函数后实际参数值:','n1',n1,'\t','n2',n2)
函数的返回值
函数的返回值
(1)函数没有返回值:【函数执行完毕后,不需要给调用处提供数据】 return可以省略不写
(2)函数有返回值:【如果只有一个值,直接返回原数据类型;如果有多个值,返回的结果为元组】
# 自定义函数
def fun(num):
odd = [] # 存奇数
even = [] # 存偶数
for i in num:
if i%2:
odd.append(i)
else:
even.append(i)
return odd,even
# 函数的调用
lst = [10,29,34,23,56,42,73]
# 调用函数后的返回值: ([29, 23, 73], [10, 34, 56, 42])
print('调用函数后的返回值:',fun(lst))
函数如何定义参数(函数定义默认值参数)
函数定义时,给形参设置默认值,只有与默认值不符合时才需要传递实参
# 自定义函数 b=10称为默认值参数
def fun(a,b=10):
print('函数调用后输出结果:',a,b)
# 函数的调用
fun(100)
fun(20,30)
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com