Python函数

为什么要有函数

函数即变量                    

函数,一次定义,多次调用

可以提高代码的重复利用率和提高他的模块性

定义函数的格式:

def func():  

    print('this is test func') 

函数分为两个阶段

第一个阶段:定义阶段

第二个阶段:调用阶段

如何调用定义的函数:

函数的内存地址加上()就是调用

print(func)  #查看函数内存地址

调用函数的格式

func()   #函数调用才会执行函数体代码,函数体就是你写进函数里的代码

快速定义名字

def func(name,age):  #name,age代表形参,它俩是虚的,只有在调用阶段它俩才有值  

    print('my name is %s' % (name,age))  

func('兰慧玲',19)  #兰慧玲,19代表实参

不可以用关键字(key:value形式)传参

def func(*args):  #当有多个参数时,可以考虑用*args,不可以用关键字传参

    print(args[1]) #调用参数 

func(1,2,3,4,5,6) 

关键字传参

def func(**kwargs):  

    print(kwargs)  

func() 

既可以传关键字参数,也可以传没有关键字参数

def func(*args,**kwargs):  

    print(args)  

    print(kwargs)  

func() 

只要定义了形参,必须在调用的时候传参,函数体应不应用你这个形参无所谓。

def func(a,b):  

    print('this is test func')  

func(1,2)

优化名片管理系统

#encoding=gbk
lt = []
def wel():
    print('欢迎使用名片系统')
    print('以下是使用说明')
    print('1.增加 2.删除 3.查询 4.修改 5.退出')
    print('=='*50)

def add():
    username = input('请输入要增加的姓名: ')
    age = input('请输入要增加的年龄: ')
    phone = input('请输入要增加的电话: ')
    dict = {'name':username,
            'age':age,
            'phone':phone
            }
    lt.append(dict)

def delt():
    for i in lt:
        print(lt.index(i),i)
        a = input('请选择要删除的序号')
        if a:
            lt.pop(int(a))
            print(lt)
        else:
            print('请正确操作')

def find():
    for i in lt:
        b = input('请输入你要查找的名字')
        if b == i['name']:
            print(i)
        else:
            print('查无此人')

def change():
    for i in lt:
        print(lt.index(i),i)
        c = input('请选择要修改的序号')
        new_name = input('新名')
        if new_name:
            lt[int(c)]['name'] = new_name
        new_age = input('新年龄')
        if new_age:
            lt[int(c)]['age'] = new_age
        new_phone = input('新电话')
        if new_phone:
            lt[int(c)]['phone'] = new_phone

def main():
    while True:
        wel()
        num = input('请输入选择的数字')
        if num == '1':
            add()
        elif num == '2':
            delt()
        elif num == '3':
            find()
        elif num == '4':
            change()
        elif num == '5':
            print('谢谢使用')
            break
        else:
            print('请输入正确选项')

if __name__ == '__main__':
    main()
View Code

return是函数执行结果的返回值

return往下的代码将不会执行,只能用在函数体内

def func():  

    print('this is test func')  

    return 0  

    print('aaa')  

func() 

返回值可以定义任何,当返回值不设定的时候,是None,为空。

def func(a):  

    print('this is test func')  

    if a == 0:  

        print('aaa')  

        return 0  

    elif a == 2:  

        return 2  

    else:  

        print('bbb')  

return 1  

func(1)  

返回值                                                

就是函数调用本身的结果:print(func())

def func():  

    print('this is test func')  

    return 0  
    
func() 

return的作用

def func(a):  

    print('this is test func')  

    if a == 1:  

        return 1  

    elif a == 2:  

        return 2  

    elidf a == 3:  

        return 3  

    else:  

 print('错误')  

 func(3)  
def func1(a):  

    print('this is test func')  

    if a == 1:  

        return 1  

    elif a == 2:  

        return 2  

    elif a == 3:  

        return 3  

    else:  

        print('错误')  

def func2(i):  

    if i == 3:  

       print('true')  

    else:  

       print('flase') 

res = func1(3)  

func2(res)  

这个是返回它的内存地址

def func():  

    return func  

pritn(func()) 
原文地址:https://www.cnblogs.com/shuaiyin/p/10922874.html