跳到主要内容

Python 函数

提示
  1. 函数定义与调用:在 Python 中,函数是执行特定任务的代码块,可以通过 def 关键字定义,并通过函数名调用。
  2. 函数类型:Python 支持两种类型的函数:标准库函数(内置函数,可直接使用)和用户定义的函数(根据需要创建)。
  3. 参数与返回值:函数可以有参数(传入的值)和返回值,使用参数让函数更灵活,而返回值允许函数输出结果。

函数是执行特定任务的代码块。

假设你需要创建一个程序来创建并上色一个圆。你可以创建两个函数来解决这个问题:

  • 创建一个圆的函数
  • 创建一个上色的函数

将复杂问题分解成更小的部分使我们的程序更易于理解和重用。

函数类型

Python 编程中有两种类型的函数:

  • 标准库函数 - 这些是 Python 中的内置函数,可供使用。
  • 用户定义的函数 - 我们可以根据我们的需求创建自己的函数。

Python 函数声明

声明函数的语法是:

def 函数名(参数):
# 函数体
return

这里,

  • def - 用于声明函数的关键字
  • 函数名 - 给函数指定的任何名称
  • 参数 - 传递给函数的任何值
  • return(可选)- 从函数返回值

让我们看一个示例,

def greet():
print('Hello World!')

在这里,我们创建了一个名为 greet() 的函数。它只是打印文本 Hello World!

这个函数没有任何参数,也不返回任何值。我们将在本教程后面学习关于参数和返回语句的内容。

在 Python 中调用函数

在上面的例子中,我们声明了一个名为 greet() 的函数。

def greet():
print('Hello World!')

现在,要使用这个函数,我们需要调用它。

这是我们如何在 Python 中调用 greet() 函数的方法。

# 调用函数
greet()

示例:Python 函数

def greet():
print('Hello World!')

# 调用函数
greet()

print('函数外部')

输出

Hello World!
函数外部

在上面的示例中,我们创建了一个名为 greet() 的函数。程序的工作原理如下:

Python 函数工作原理

这里,

  • 当函数被调用时,程序的控制权转移到函数定义。
  • 函数内的所有代码都被执行。
  • 程序的控制权跳转到函数调用后的下一条语句。

Python 函数参数

如前所述,函数也可以有参数。参数是函数接受的值。例如,

# 带有两个参数的函数
def add_numbers(num1, num2):
sum = num1 + num2
print('和: ', sum)

# 没有参数的函数
def add_numbers():
# 代码

如果我们创建了带有参数的函数,在调用它们时,我们需要传递相应的值。例如,

# 带有两个值的函数调用
add_numbers(5, 4)

# 没有值的函数调用
add_numbers()

这里,add_numbers(5, 4) 指定参数 num1num2 分别获得值 54

示例 1:Python 函数参数

# 带有两个参数的函数
def add_numbers(num1, num2):
sum = num1 + num2
print("和: ", sum)

# 带有两个值的函数调用
add_numbers(5, 4)

# 输出:和: 9

在上面的示例中,我们创建了一个名为 add_numbers() 的函数,带有参数:num1 和 num2。

Python 函数参数

我们还可以通过提及参数名来调用函数:

add_numbers(num1 = 5, num2 = 4)

在 Python 中,我们称之为关键字参数(或命名参数)。上面的代码等效于

add_numbers(5, 4)

Python 中的 return 语句

Python 函数可能返回值,也可能不返回值。如果我们希望我们的函数向

函数调用返回一些值,我们使用 return 语句。例如,

def add_numbers():
...
return sum

这里,我们正在将变量 sum 返回到函数调用。

注意return 语句也表示函数已经结束。return 之后的任何代码都不会被执行。

示例 2:函数返回类型

# 函数定义
def find_square(num):
result = num * num
return result

# 函数调用
square = find_square(3)

print('平方:', square)

# 输出:平方: 9

在上面的示例中,我们创建了一个名为 find_square() 的函数。该函数接受一个数字并返回该数字的平方。

函数在 Python 中如何工作?

示例 3:加两个数字

# 加两个数字的函数
def add_numbers(num1, num2):
sum = num1 + num2
return sum

# 带有两个值的函数调用
result = add_numbers(5, 4)

print('和: ', result)

# 输出:和: 9

Python 库函数

在 Python 中,标准库函数是内置的函数,可以直接在我们的程序中使用。例如,

  • print() - 打印引号内的字符串
  • sqrt() - 返回一个数字的平方根
  • pow() - 返回一个数字的幂

这些库函数定义在模块中。要使用它们,我们必须在程序中包含模块。

例如,sqrt() 定义在 math 模块中。

示例 4:Python 库函数

import math

# sqrt 计算平方根
square_root = math.sqrt(4)

print("4的平方根是", square_root)

# pow() 计算幂
power = pow(2, 3)

print("2的3次幂是", power)

输出

4的平方根是 2.0
23次幂是 8

在上面的示例中,我们使用了

  • math.sqrt(4) - 计算 4 的平方根
  • pow(2, 3) - 计算一个数字的幂,即 2^3

这里,请注意语句,

import math

由于 sqrt() 定义在 math 模块中,我们需要将其包含在我们的程序中。

使用函数的好处

1. 代码可重用 - 我们可以在程序中多次使用同一个函数,这使我们的代码可重用。例如,

# 函数定义
def get_square(num):
return num * num

for i in [1,2,3]:
# 函数调用
result = get_square(i)
print('数字', i, '的平方 =', result)

输出

数字 1 的平方 = 1
数字 2 的平方 = 4
数字 3 的平方 = 9

在上面的示例中,我们创建了名为 get_square() 的函数来计算一个数字的平方。这里,该函数用于计算从 13 的数字的平方。

因此,同一方法被反复使用。

2. 代码可读性 - 函数帮助我们将代码分解成块,使我们的程序易读且易于理解。