函数的规范:
def rat(param,param1)
''''''
param?
res?
return res
其中,def是定义函数的关键字。黄色rat是函数名称,调用时,根据名称来调用。()内是参数,参数由变量来显示;调用时需要提供数据交给变量。若函数不需要变量,可不写。任何类型的数据都可以赋值给变量,因此,python中的函数应该不需要重载。
函数内部第一行需要在六个单引号内添加此函数功能描述。函数内注释用#表示
函数参数:
函数的参数有多种类型:1.位置参数:所有参数是变量,调用时要根据参数的顺序赋值
2.默认值参数:形参是一个或多个有在声明时复制的变量,但它必须在默认值参数后边
3.可变参数:声明一个可变参数,可以接受多个值
4.关键字参数:赋值时,需要k,value两个变量
5万能参数:可变参数和关键字参数的组合
6.强制关键字参数:把key指明的关键字参数
总结:参数都是变量,所以赋值时是按顺序来的。声明时也要按顺序,位置参数,默认值参数,可变参数,关键字参数
可变参数和关键字参数在一个函数中都只需要一个,若两个可变参数同时存在会报错,关键字参数同理
# # '''
# #
# # '''
# #
# # # 1.函数的规范格式
# # # def rat(param,param1):
# # # ''''''
# # # param?
# # # res?
# # # return res
# #
# # def buy_foods(money):
# # '''买饭'''
# # res=""
# # res1=None
# # if money<5:
# # res="不能买食物,钱太少"
# # elif 5<=money<=10:
# # res="面"
# # else :
# # res="面"
# # res1="tang"
# #
# # return res,res1
# #
# # r=buy_foods(1)
# # print(r)
# #
#
# # def fun(age):
# # age=13
# # pass
# # def fun1(age,name=5):
# # pass
# # def fum2(*j):
# # pass
# # def fun3(**g):
# # pass
# # def fun4(*a,**a1):
# # pass
# # def fun5(age,*,win,food):
# # pass
# # #
# # def fun6(age,name=12,*h,**j):
# # pass
#
# def fun(age):
# age=13
# print("位置参数",age)
# fun(1)#位置参数 13
# def fun11(age, name=5):
# print("默认参数", age, name)
# fun11(1)#默认参数 1 5
# fun11(1,3)#1 3
# def fun12(age,name=5,sex="nv"):
# print("默认参数",age,name,sex)
# #````````````````````````````````````````` fun12(1,3)#1 3 nv
#
# def fum2(*j):
# print("可变参数",j)
# fum2()#可变参数 ()
# fum2(1,2,3)#可变参数 (1, 2, 3)
# def fun3(**g):
# print("关键字参数参数",g)
# fun3(win="jiu")#关键字参数参数 {'win': 'jiu'}
# def fun4(*a,**a1):
# print("万能·参数",a,a1)
# fun4(1,2,3,win="jiu")#万能·参数 (1, 2, 3) {'win': 'jiu'}
# # fun4(1,2,win="k",3)
# def fun5(age,*,win,food):
# print("强制关键字参数",win,food)
# # fun5(18,'l','k')#fun5() takes 1 positional argument but 3 were given
# fun5(18,win='l',food='k')#强制关键字参数 l k
# fun5(18,food='k',win='l')#强制关键字参数 l k
#
# #
# def fun6(age,name=12,*h,**j):
# print("可变参数")
#
#
#
注意:
1.若需要打印功能最好在函数内部打印,这样调用后不需要接受返回结果再打印结果。不确定是否需要打印时可不写,这样可以在调用后根据需要确定是否接受打印。
2.返回结果的声明最好在函数内部靠前位置,这样以防出现未定义异常。
返回值:
# def fun():
# res,res1=1,2
# return res,res1
# i,a=fun()
调用:
# 函数的调用
# 1.函数间的调用:函数间的调用互相结合可以有效的完成多个事情
# 2.函数调用自己/递归调用:
# 递归调用过程如果不通过return设置控制机构,将会一直运行下去陷入死循环
# 设置了控制机构后,第一次运行和第二次的运行结果也不会相同
# return放置的位置不同,结果也不同
# def fun():
# i=0
# i=i+1
# print("jjjjjjjjjjjjj")
# return fun()
# print(i)
# fun()#jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
# def func_c():
# r = input("按任意键继续,按R键结束")
# if r == "R":
# return
# # 调用当前函数自己
# func_c()
#
# # 执行一句话
# print("*********************")
# # 第一次:空
# # 第二次:*********************
# # 第4次:按任意键继续,按R键结束
# # 按任意键继续,按R键结束
# # 按任意键继续,按R键结束
# # 按任意键继续,按R键结束R
# # *********************
# # *********************
# # *********************
#