Python 函数
- 函数定义与调用:在 Python 中,函数是执行特定任务的代码块,可以通过
def
关键字定义,并通过函数名调用。 - 函数类型:Python 支持两种类型的函数:标准库函数(内置函数,可直接使用)和用户定义的函数(根据需要创建)。
- 参数与返回值:函数可以有参数(传入的值)和返回值,使用参数让函数更灵活,而返回值允许函数输出结果。
函数是执行特定任务的代码块。
假设你需要创建一个程序来创建并上色一个圆。你可以创建两个函数来解决这个问题:
- 创建一个圆的函数
- 创建一个上色的函数
将复杂问题分解成更小的部分使我们的程序更易于理解和重用。
函数类型
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 函数参数
如前所述,函数也可以有参数。参数是函数接受的值。例如,
# 带有两个参数的函数
def add_numbers(num1, num2):
sum = num1 + num2
print('和: ', sum)
# 没有参数的函数
def add_numbers():
# 代码
如果我们创建了带有参数的函数,在调用它们时,我们需要传递相应的值。例如,
# 带有两个值的函数调用
add_numbers(5, 4)
# 没有值的函数调用
add_numbers()
这里,add_numbers(5, 4)
指定参数 num1
和 num2
分别获得值 5 和 4。
示例 1:Python 函数参数
# 带有两个参数的函数
def add_numbers(num1, num2):
sum = num1 + num2
print("和: ", sum)
# 带有两个值的函数调用
add_numbers(5, 4)
# 输出:和: 9
在上面的示例中,我们创建了一个名为 add_numbers()
的函数,带有参数:num1 和 num2。
我们还可以通过提及参数名来调用函数:
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()
的函数。该函数接受一个数字并返回该数字的平方。
示例 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
2的3次幂是 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()
的函数来计算一个数字的平方。这里,该函数用于计算从 1 到 3 的数字的平方。
因此,同一方法被反复使用。
2. 代码可读性 - 函数帮助我们将代码分解成块,使我们的程序易读且易于理解。