【目录】
4.函数的参数定义,函数定义默认值参数: 函数定义时,给形参设置默认值,只有与默认值不符合的时候才需要传递实参
5.函数参数(*args, **kwargs)理解和使用方法
【内容】
1.函数的创建与调用:
'''
函数的创建与调用
'''
def calc(a,b):
# a,b称为形式参数,简称形参,形参出现的位置是在函数的定义处
c=a+b
return c
result=calc(1,2)
# 1,2是实际参数的值,简称实参,出现的位置是函数的调用处
print(result)
'''
函数的参数传递:
1.位置实参:根据形参对应的位置进行实参传递
2.关键字实参:根据形参名称进行实参传递
'''
result=calc(1,2)
# 第一种,按照顺序,位置实参
result=calc(b=1,a=2)
# 第二种,按照参数的名字,关键字实参
2.函数参数传递的内存分析:
'''
函数参数传递的内存分析
'''
def fun(arg1,arg2):
print('arg1',arg1)
print('arg2',arg2)
arg1=100
arg2.append(10)
print('arg1', arg1)
print('arg2', arg2)
return
n1=11
n2=[22,33,44]
print('n1',n1)
print('n2',n2)
fun(n1,n2)
# 位置传参,n1,n2为实际参数,arg1和arg2为形式参数,总结:实参名称和形式参数名称可以不一致
print('n1',n1)
print('n2',n2)
'''
在函数的传递中,进行参数的传递时
如果是不可变对象,在函数体内的修改不会影响实参的值 arg1的修改为100,不会影响n1的值
如果是可变对象,在函数体内的修改会影响到实参的值 arg2的修改,append(10),会影响到n2的值
一个问题就是什么对象是可变对象,什么对象是不可变对象???????
'''
3.函数的返回值: 函数返回多个值的时候,结果为元组:
'''
函数的返回值:
函数返回多个值的时候,结果为元组
'''
def fun(num):
odd=[]
even=[]
for i in num:
if i%2:
odd.append(i)
else:
even.append(i)
return odd,even
print(fun([1,2,3,4,5,6,7,8,9]))
'''
函数在定义时,是否需要返回值,这个需要视情况而定
'''