python学习笔记4--函数/全局变量/递归

一、函数是什么?

函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法。在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*y
    return c,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)  

六、函数的递归

#递归
#自己调用自己,函数的循环

def test1():
    num = int(input('please enter a number:'))
    if num%2==0:#判断输入的数字是不是偶数
       return True #如果是偶数的话,程序就退出了,返回true
    print('不是偶数请重新输入!')
    return test1()#如果不是偶数的话继续调用自己,输入值
print(test1())#调用test

 

  

  

 

posted @ 2018-04-25 17:09  可可的私房菜  阅读(299)  评论(0编辑  收藏  举报