函数:执行特定任务已完成特定功能的一段代码
原因:提高复用,隐藏实现细节,提高可维护,提高可读性便于调试
创建:
def 函数名(输入参数):
函数体
[return XXX]
def cale(a,b):#a,b出现在函数定义处,是形式参数
c=a+b
return c
#函数调用
result=cale(10,20) #10,20出现在函数调用处,实际参数的值,简称实参
print(result)
res=cale(b=20,a=9)#b,a为关键字参数,位置在参数调用处
print(res)
def fun(*args): #个数可变的位置参数只能有一个
print(args)
fun(10)
fun(20,10)
fun(10,20,30)
def fun1(**args):#个数可变的关键字参数只能有一个
print(args)
fun1(a=1)
fun1(a=20,b=30)
#fun1('hello','python') #报错
#既有个数可变的位置参数,又有个数可变的关键字参数,要求个数可变的位置参数在关键字参数之前
def (*args1,**args2):
pass
def fun(a,b,c):
print('a=',a)
print('b=',b)
print('c=',c)
#函数调用
fun(10,20,30)#函数调用的参数传递,称为位置传参
l1=[1,2,3]
fun(*l1) #函数调用时将列表中的每个元素都转换位为位置实参传入
print('-----')
fun(a=11,b=12,c=13)
dic={'a':100,'b':200,'c':300}
fun(**dic) #函数调用时将字典中键值对转为关键字实参
函数内部定义的变量是局部变量,如果加上gobal则变成全局变量