Python基础核心经典教程(015)——函数入门
发布日期:2021-06-30 11:11:33 浏览次数:3 分类:技术文章

本文共 3922 字,大约阅读时间需要 13 分钟。


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

概述

在软件开发过程中我们常把功能相对独立的代码封装成单独的模块,并在需要之时对其进行调用从而提高开发效率。

函数的定义

语法如下:

def 函数名():    code1    code2    ....

在该语法中关键字def是英语单词define的缩写。

函数名的命名过程应遵循以下原则:

  • 1、通俗易懂,见名知意
  • 2、由字母、下划线和数字组成
  • 3、不能以数字开头
  • 4、不能使用系统关键字

函数的调用

语法如下:

函数名()

调用函数很简单的,只需要通过 函数名() 即可实现对函数的调用。

示例1

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的定义及其调用"""# 定义函数def printHello():    print("Hello")# 调用函数printHello()

在这里插入图片描述

示例2

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的定义及其调用"""# 定义函数def sum():    number1 = 13    number2 = 14    result = number1 + number2    print("%d + %d = %d" % (number1, number2, result))# 调用函数sum()

在这里插入图片描述

函数的参数

为增加函数的通用性,我们可在定义函数时设置参数。

语法如下:

def 函数名(参数1,参数2...):    code1    code2    ....

在函数的定义中可以没有参数,也可以有一个或者多个参数。当存在多个参数时,各参数之间用逗号,隔开。当函数有参数时,其调用方式如下:

函数名(参数1,参数2...)

在调用函数时请按照函数定义的要求传入相应的参数。

示例

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数参数"""# 定义函数def sum(number1, number2):    result = number1 + number2    print("%d + %d = %d" % (number1, number2, result))# 调用函数sum(13, 14)

在这里插入图片描述

实参与形参

  • 实际参数(实参):调用函数时小括号中的参数叫做实参。实参用于把数据从函数外传递到函数内。
  • 形式参数(形参):定义函数时小括号中的参数叫做形参。形参用于接收参数,在函数内部可将形参作为变量使用。

函数的返回值

在函数里可在函数执行结束时将处理结果使用关键字return返回给调用者,从而方便调用者针对具体的结果做后续的处理。

语法如下:

def 函数名(参数1,参数2...):    code1    code2    ....    return 返回值

示例1

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的返回值"""# 定义函数def sum(number1, number2):    result = number1 + number2    # 返回结果    return result# 调用函数并接收函数的返回值res = sum(13, 14)print("求和的结果:%d" % res)

在这里插入图片描述

示例2

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的返回值"""# 定义函数——依据当月上班的天数和每天的工钱结算当月的工资def salary(money, day):    result = money * day    # 返回结果    return result# 调用函数并接收函数的返回值res = salary(200, 22)print("这个月的工资是:%d" % res)if res > 4000:    print("好开心,可以去买部新手机了")else:    print("继续努力攒钱")

在这里插入图片描述

函数的嵌套调用

函数又调用另外的函数,被称为函数的嵌套调用。

语法如下:

def 函数名(参数1,参数2...):    ....    调用其它函数    ....    return 返回值

示例

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的嵌套"""# 定义函数def clean():    print("洗手")# 定义函数def eat():    # 调用clean()函数    clean()    print("吃饭")# 调用函数eat()

在这里插入图片描述

局部变量与全局变量

依据变量作用域范围的不同,我们可将变量分为:局部变量和全局变量。

  • 局部变量:定义在函数体内部的变量叫做局部变量,它只在函数体内部有效。当函数执行结束后,函数内部的局部变量会被系统自动回收。不同的函数可定义相同的名字的局部变量,但它们彼此之间不会产生任何影响。

  • 全局变量:定义在函数体外的变量叫做全局变量,所有的函数内部都可以使用该变量,也就是说全局变量在函数体内部和外部均有效。

  • global关键字:虽然在函数内可以使用全局变量,但是不可在函数内直接修改全局变量。在函数内需先使用global关键字对全局变量进行标识才能修改全局变量。

示例1

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:局部变量与全局变量"""# 全局变量name = "zxx"# 定义函数def printInfo():    # 局部变量    age = 37    # 在函数内利用关键字global使用全局变量    global name    print("在函数内打印全局变量%s" % name)    print("在函数内打印局部变量%d" % age)    # 在函数内修改全局变量    name = "zxc"    print("在函数内打印全局变量%s" % name)# 调用函数printInfo()print("在函数外打印全局变量%s" % name)# wrong code# print("在函数外打印局部变量%d" % age)

在这里插入图片描述

示例2

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:局部变量与全局变量"""# 全局变量name = "zxx"# 定义函数def printInfo():    # 定义与全局变量同名的局部变量    name = "blx"    print("在函数内打印name=%s" % name)# 调用函数printInfo()print("在函数外打印name=%s" % name)

从这示例中我们看出:

  • 1、全局变量和局部变量的名字可以相同
  • 2、当全局变量与局部变量同名时,那么在函数内该变量名代表的是局部变量
  • 3、局部变量仅仅在函数内有效

函数的应用

练习1

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的应用"""# 求三个整数中的最大值def getMaxNumber(a, b, c):    max = 0    if a > b:        if a > c:            max = a        else:            max = c    else:        if b > c:            max = b        else:            max = c    return max# 调用函数result = getMaxNumber(4, 1, 7)print("三个数的最大值为:%s" % result)

在这里插入图片描述

练习2

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的应用"""# 求区间[a,b]内的数据累加和def getSum(a, b):    sum = 0    if b <= a:        print("您输入的数据有误,请重新输入")    else:        while a <= b:            sum = sum + a            a = a + 1    return sum# 调用函数result = getSum(1, 100)print("累加的总和为:%s" % result)

在这里插入图片描述

练习3

"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:函数的应用"""# 计算长方形的面积def getArea(length, width):    area = 0    if length <= 0 or width <= 0:        print("您输入的数据有误,请重新输入")    else:        area = width * length    return area# 调用函数result = getArea(4, 2)print("长方形的面积为:%s" % result)

在这里插入图片描述

转载地址:https://it9527.blog.csdn.net/article/details/105740142 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python基础核心经典教程(016)——字符串
下一篇:Python基础核心经典教程(014)——break和continue

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月30日 05时41分23秒