Python 小白的晋级之路 - 第十三部分:创建函数

1  引言

函数是一种可重复使用的代码块,可以接收输入参数并返回输出结果。通过函数,我们可以将程序的逻辑划分为模块,提高代码的可读性和可维护性。在本节中,我们将学习如何定义函数、使用参数和返回值、处理全局变量以及异常处理。

2  定义函数

在 Python 中,使用def关键字来定义函数。函数的定义包括函数头和函数体,例如:

  • def greet():
  •       print("Hello, nice to meet you!")

在以上示例中,我们定义了一个函数greet(),它不接收任何参数,函数体内输出一条简单的问候语。

3  使用参数

函数可以接收参数,以便传递数据给函数。在函数定义时,我们可以指定参数的名称和类型。例如:

  • def multiply(x, y):
  •       result = x * y
  •       print(f"The result is: {result}")

以上示例定义了一个multiply()函数,接收两个参数x和y,函数体内计算它们的乘积并输出结果。

4  返回值

函数可以使用return语句返回一个值,这个返回值可以被调用函数的地方使用或存储起来。例如:

  • def add(x, y):
  •       result = x + y
  •       return result

在以上示例中,add()函数接收两个参数x和y,计算它们的和并将结果返回。我们可以将返回值赋给一个变量,如sum_result = add(3, 4),或者直接在输出语句中使用print(add(3, 4))来打印函数的返回值。

5  全局变量

函数内部可以使用局部变量,这些变量只在函数内部可见。如果我们想要在函数内部访问全局变量,可以使用global关键字声明。例如:

  • global_var = 10
  •  
  • def multiply_by_global(x):
  •       global global_var
  •       result = x * global_var
  •       print(f"The result is: {result}")

在以上示例中,multiply_by_global()函数访问了全局变量global_var,并将参数x与全局变量相乘后输出结果。

6  异常处理

在程序执行中,可能会出现一些异常状况(如除以零)导致程序中断。为了优雅地处理这些异常,我们可以使用try和except语句块来捕获并处理异常。例如:

  • def divide(x, y):
  •       try:
  •            result = x / y
  •            print(f"The result is: {result}")
  •       except ZeroDivisionError:
  •            print("Error: Division by zero is not allowed.")
  •  
  • divide(10, 2) # 正常除法
  • divide(10, 0) # 除以零,会触发异常处理

在以上示例中,divide()函数进行除法运算,如果除数为零会触发ZeroDivisionError,我们使用except语句块来捕获该异常并输出错误信息。

7  课后练习题:

  1. 定义一个函数calculate_average(),接收一个包含数字元素的列表作为参数,计算列表中所有元素的平均值并返回。

  2. 修改函数calculate_average(),使其在接收的列表为空时返回 0。

答案及解析:

练习题 1 的答案和解析:

  • def calculate_average(numbers):
  •        total = sum(numbers)
  •        average = total / len(numbers)
  •        return average

解析:在calculate_average()函数中,我们使用sum()函数计算列表中所有元素的总和,并将其除以列表的长度,得到平均值。最后,返回平均值作为函数的结果。

练习题 2 的答案和解析:

  • def calculate_average(numbers):
  •       if len(numbers) == 0:
  •           return 0
  •       total = sum(numbers)
  •      average = total / len(numbers)
  •      return average
  •  
  • numbers_list = [1, 2, 3, 4, 5]
  • print(calculate_average(numbers_list))
  •  
  • empty_list = []
  • print(calculate_average(empty_list))

解析:在练习题 2 中,我们在函数calculate_average()中加入了一个条件判断,当接收的列表为空时,直接返回零。在使用函数时,我们分别传入了一个非空列表numbers_list和一个空列表empty_list,并打印函数的返回值。

通过这些练习题,我们可以巩固函数的使用,包括参数传递、返回值和条件处理。你可以尝试编写更多的函数来加深理解,并尝试处理其他类型的异常情况。

8  总结

我们了解到了函数的概念以及如何在 Python 中定义函数、使用参数和返回值、处理全局变量以及异常处理。下面是此部分的总结:

  • 函数是一种可重复使用的代码块,可以接收输入参数并返回输出结果。

  • 定义函数时使用def关键字,函数包括函数头和函数体。

  • 函数可以接收参数,以便传递数据给函数。参数可以有默认值。

  • 可以使用return语句在函数中返回一个值,该返回值可以被调用函数的地方使用或存储。

  • 函数内部可以使用局部变量,局部变量只在函数内部可见。

  • 如果想在函数内部访问全局变量,可以使用global关键字声明。

  • 异常处理可以使用try和except语句块来捕获并处理异常。

通过学习函数的相关概念和用法,你可以更好地组织和重用代码,并能够优雅地处理异常情况。继续实践和探索更多的函数概念将有助于你在 Python 编程中更加熟练和自信。

往期回顾

Python 小白的晋级之路 - 第一部分:Python 的重要性和简洁的语法

Python 小白的晋级之路 - 第二部分:探索 Python 变量

Python实战之冒泡排序

Python 小白的晋级之路 - 第三部分:玩转 Python 字符串

Python 小白的晋级之路 - 第四部分:掌握 Python 列表

Python 小白的晋级之路 - 第五部分:驾驭 Python 元组

Python 小白的晋级之路 - 第六部分:Python 的 if 语句

Python 实战:猜数字与智能计算

Python 小白的晋级之路 - 第七部分:掌握字典的魔法

Python 小白的晋级之路 - 第八部分:探秘 while 循环的精髓

Python 小白的晋级之路 - 第九部分:征服 for 循环的领域

Python 实战:年会抽奖程序,别作弊哈

Python 小白的晋级之路 - 第十部分:探索常用函数的奇妙世界

Python 实战案例:没人能活着离开的游戏

Python 小白的晋级之路 - 第十一部分:探索正则表达式的魔力

Python 实战:天气查询

Python 小白的晋级之路 - 第十二部分:了解常用第三方函数

Python爬取西门子论坛标题,看看大家最近都在讨论什么问题

Python 实战:字符统计程序

Python 小白的晋级之路 - 第十四部分:输入、输出和格式

Python 实战案例:待办事项列表管理程序

Python 小白的晋级之路 - 第十五部分:读写文件

Python 实战:图片处理

图片

2024年04月

Tags: