python基础(函数)

来源:互联网 发布:ccfamily是什么软件 编辑:程序博客网 时间:2024/06/05 15:28

一、函数的概念

函数是一块具有独立功能的代码块,通过输入的参数值,返回需要的结果,重复使用,那么往往就需要使用函数,使用函数把这块代码封装成一个整体,函数遇到return即可结束,也就是说函数中只有第一个return语句有效并跳出函数,后面的return语句是无效的。

二、函数的定义

使用关键字def定义,函数在使用前必须定义,函数的类型即返回值类型。python函数定义的格式如下:

def 函数名(参数1,参数2...):    ...return 表达式

函数的参数放在一对圆括号中,参数的个数可以有一个或者多个,参数之间用逗号隔开,这种参数叫做形式参数。

三、函数的参数

python通过名称绑定机制,把实际参数的值和形式参数的名称绑在一起。即把形式参数传递到函数所在的局部命名空间中,形式参数和实际参数指向内存空间中同一存储空间。

函数的参数支持默认值。当某个参数没有传递实际的值时,函数将使用默认参数计算。

四、函数的文档说明

在函数开头一般用双引号包含函数的功能说明、提示等文档信息

#定义一个输出名片的函数def myslef(dict):    "这个函数是用来输入名片信息的"    for key,value in dict.items():        print(key,value)dict = {"姓名":"李佳琪","性别":"女","身高":"160"}myslef(dict)

五、函数的返回值

返回值指的是一个函数执行完成以后,把一个结果给调用者。

函数的返回使用return语句,return后面可以是变量或表达式。

函数没有return语句时,返回值为None,None是python中的对象,不属于数字也不属于字符串。当函数中的return语句不带任何参数时,返回的结果也是None。

def func():    returnprint(func())

如果需要返回多个值,可以把这些值打包到元组中,在调用时,对返回的元组解包即可。

def func(x,y,z):    l = [x,y,z]    l.reverse()    numbers = tuple(l)#数据打包    return numbersx,y,z = func(0,1,2)#数据解包print(x,y,z)
def sum(num1,num2):    sum = num1+num2    return sumnum1 = int(input("输入第一个值:"))num2 = int(input("输入第二个值:"))sum = sum(num1,num2)print("num1+num2=%d"%sum)

注意:
if-else语句中的返回值(两种方法):

方法一:

if(1>0):    return 100else:    return 200

方法二

if(1>0):    num = 100else:    num = 200return num

方法二较方法一好

六、函数的类型

1.无参数,无返回值

此类函数,不能接收参数,也没有返回值,一般情况下,打印提示等类似的功能,使用这类函数。

2.无参数,有返回值

此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数。

3.有参数,无返回值

此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需要结果时,用此类函数。

4.有参数,有返回值

此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数。

七、练习

练习1(定义函数完成2个数相加):

#定义一个函数,使得从键盘获取的两个数字相加def sum(num1,num2):    sum = num1+num2    print("num1+num2=%d"%sum)num1 = int(input("输入第一个值:"))num2 = int(input("输入第二个值:"))sum(num1,num2)

练习2(带有函数的学生管理系统):

#学生信息管理系统#打印输出界面信息def print_info():    print("=" * 30)    print("1:添加学生信息")    print("2:删除学生信息")    print("3:修改学生信息")    print("4:查询学生信息")    print("0:退出系统")    print("=" * 30)def add_info():    name = input("请输入学生的名字:")    sex = input("请输入学生的性别:")    high = input("请输入学生的身高:")    student_info = {}    student_info["name"] = name    student_info["sex"] = sex    student_info["high"] = high    names.append(student_info)    print("添加成功!")def del_info():    name = input("请输入要删除的学生姓名:")    for name_check in names:        if (name_check["name"] == name):            del name_check            break    print("删除成功!")def update_info():    name = input("请输入要修改的学生姓名:")    name_new = input("请输入修改后的姓名:")    sex_new = input("请输入修改后的性别:")    high_new = input("请输入修改后的身高:")    for name_check in names:        if (name_check["name"] == name):            break    name_check["name"] = name_new    name_check["sex"] = sex_new    name_check["high"] = high_new    print("修改成功!")def check_info():    name = input("请输入要查询的名字:")    for name_check in names:        if (name_check["name"] == name):            flag = 1            break    if (flag == 1):        print("查找成功!")        print("   姓名     性别     身高")        print("   %s    %s      %s" % (name_check["name"], name_check["sex"], name_check["high"]))names =  []#系统提示while(True):    print_info()#获取操作数字    op = input("请输入你要进行的操作:")#根据用户选择进行功能调用    flag = 0    if(op == "1"):        add_info()    elif(op == "2"):        del_info()    elif(op == "3"):        update_info()    elif(op == "4"):        check_info()    elif(op == "0"):        exit(0)

练习3(带有函数嵌套的学生管理系统):

#学生信息管理系统names =  []#打印输出界面信息def print_info():    print("=" * 30)    print("1:添加学生信息")    print("2:删除学生信息")    print("3:修改学生信息")    print("4:查询学生信息")    print("0:退出系统")    print("=" * 30)def add_info():    name = input("请输入学生的名字:")    sex = input("请输入学生的性别:")    high = input("请输入学生的身高:")    student_info = {}    student_info["name"] = name    student_info["sex"] = sex    student_info["high"] = high    names.append(student_info)    print("添加成功!")def del_info():    name = input("请输入要删除的学生姓名:")    for name_check in names:        if (name_check["name"] == name):            del name_check            break    print("删除成功!")def update_info():    name = input("请输入要修改的学生姓名:")    name_new = input("请输入修改后的姓名:")    sex_new = input("请输入修改后的性别:")    high_new = input("请输入修改后的身高:")    for name_check in names:        if (name_check["name"] == name):            break    name_check["name"] = name_new    name_check["sex"] = sex_new    name_check["high"] = high_new    print("修改成功!")def check_info():    name = input("请输入要查询的名字:")    for name_check in names:        if (name_check["name"] == name):            flag = 1            break    if (flag == 1):        print("查找成功!")        print("   姓名     性别     身高")        print("   %s    %s      %s" % (name_check["name"], name_check["sex"], name_check["high"]))def main():#系统提示    while(True):        print_info()#获取操作数字        op = input("请输入你要进行的操作:")#根据用户选择进行功能调用        flag = 0        if(op == "1"):            add_info()        elif(op == "2"):            del_info()        elif(op == "3"):            update_info()        elif(op == "4"):            check_info()        elif(op == "0"):            exit(0)main()
原创粉丝点击