一、函数是什么?
函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。
定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。
二、使用函数的好处:
1、简化代码
2、提高代码的复用性
3、代码可扩展
三、python中函数的使用:
1、定义函数使用def关键字,后面是函数名,函数名不能重复,然后执行调用
def hello(file_name,content): #形参
f=open(file_name,'a+')
f.seek(0)
f.write(content)
f.close()
#调用函数
hello('123.txt','hahhahha') #实参
2、默认值参数,调用时不是必填的
#默认值参数:不是必填的
def hello2(file_name,content=''):
f=open(file_name,'a+')
if content:
f.seek(0)
f.write(content)
else:
f.seek(0)
res=f.read()
return res
f.close()
hello2('123.txt') #content 默认为空
hello2('123.txt',content='12345')
3、可变参数,不常用
#可变参数
#不常用
def test3(a,b=1,*args): #可变参数 *args
print('a',a)
print('b',b)
print('args',args)
test3(2,3,'ahahha','hahhaha3','hahhaha4')
4、关键字参数,传入是一个dict
#关键字参数
def test4(**kwargs):print(kwargs)
test4(name='suki',sex='man') #传参是dic形式
四、函数的返回值
def calc(x,y):#这个就是定义了一个有返回值的函数
c = x*yreturnc,x,y
res= calc(5,6)#把函数的返回结果赋值给res
print(res)
#函数返回值return
#需要获取结果必须return,可以没有返回值
#return:立即结束函数
user=hello2('13.txt')
print(user)
五、全局变量和局部变量
a=100 #全局变量
def test2():
global a #声明全局变量 才能修改a的值
a=5
print('里面的',a)
test()
print('外面的',a)
六、函数的递归
#递归#自己调用自己,函数的循环
deftest1():
num= int(input('please enter a number:'))if num%2==0:#判断输入的数字是不是偶数
return True #如果是偶数的话,程序就退出了,返回true
print('不是偶数请重新输入!')return test1()#如果不是偶数的话继续调用自己,输入值
print(test1())#调用test