欢迎访问宙启技术站
智能推送

手把手教你学会Python函数

发布时间:2023-06-27 00:47:19

Python是一门高级编程语言,它具备易读易写、动态类型、面向对象等特点,而Python函数则是Python编程中的基本组成部分之一。函数是一段代码,以特定的名称命名和定义,可以通过调用函数来执行函数体中的代码,从而实现重复使用代码的目的。本文将手把手地教你如何学会Python函数。

一、函数的基本定义和调用

Python函数的语法格式如下:

def 函数名(参数):
	"""函数文档字符串"""
	函数体

- 函数名:标识函数的名称,命名规则同变量。

- 参数:是函数执行时需要的变量,可以是0个、1个或多个。

- 函数文档字符串:是给函数添加的注释,描述函数的功能,是可选项。

- 函数体:是函数的主体,包含一系列的语句和计算。

定义好函数后,就可以通过调用函数来执行函数体中的代码,调用函数的语法格式如下:

函数名(参数)

示例代码如下所示:

def add(a, b):
    """求两个数的和"""
    return a + b

x = 3
y = 5
result = add(x, y)
print('x 和 y 的和是:', result)

输出结果为:

x 和 y 的和是: 8

二、函数的参数

Python函数的参数是可选的,而且可以包含1个或多个。函数的参数有以下几种类型:

1. 位置参数

位置参数指的是函数调用时必须传递的参数,按照顺序依次传递给函数。示例代码如下所示:

def square(x):
    """计算一个数的平方"""
    return x ** 2

result = square(5)
print('5 的平方是:', result)

输出结果为:

5 的平方是: 25

2. 关键字参数

关键字参数是以“键=值”的形式传递的参数,用于指定参数的名称和值。示例代码如下所示:

def add(a, b):
    """求两个数的和"""
    return a + b

result1 = add(a=3, b=5)
result2 = add(b=3, a=5)
print('3 和 5 的和是:', result1)
print('5 和 3 的和是:', result2)

输出结果为:

3 和 5 的和是: 8
5 和 3 的和是: 8

3. 默认参数

默认参数是在函数定义过程中指定的参数值,如果函数调用时没有传递该参数,则使用默认值。示例代码如下所示:

def add(a, b=3):
    """求两个数的和,b 的默认值为 3"""
    return a + b

result1 = add(5)
result2 = add(5, 2)
print('5 和 3 的和是:', result1)
print('5 和 2 的和是:', result2)

输出结果为:

5 和 3 的和是: 8
5 和 2 的和是: 7

4. 不定长参数

不定长参数是函数调用时可以传递任意个数的参数,分为两种类型:

- *args:用于接收多个位置参数,返回一个元组。

- **kwargs:用于接收多个关键字参数,返回一个字典。

示例代码如下所示:

def add(*args, **kwargs):
    """求多个数的和"""
    sum = 0
    for i in args:
        sum += i
    for k,v in kwargs.items():
        sum += v
    return sum

result1 = add(3, 5)
result2 = add(3, 5, 7)
result3 = add(a=3, b=5, c=7)
result4 = add(3, 5, a=7, b=9)
print('3 和 5 的和是:', result1)
print('3 和 5 和 7 的和是:', result2)
print('3 和 5 和 7 的和是:', result3)
print('3 和 5 和 7 和 9 的和是:', result4)

输出结果为:

3 和 5 的和是: 8
3 和 5 和 7 的和是: 15
3 和 5 和 7 的和是: 15
3 和 5 和 7 和 9 的和是: 24

三、函数的返回值

Python函数的返回值是函数执行后返回的结果,可以通过return语句进行返回。如果函数没有返回值,则返回None。一般来说,函数的返回值有以下两种类型:

1. 单个值的返回

函数的返回值可以是一个单一的值,也可以是多个值的元组,示例代码如下所示:

def add(a, b):
    """求两个数的和"""
    return a + b

result = add(3, 5)
print('3 和 5 的和是:', result)

输出结果为:

3 和 5 的和是: 8

2. 多个值的返回

函数的返回值也可以是多个值,返回的多个值可以使用元组、列表、字典等方式进行处理,示例代码如下所示:

def add_and_subtract(a, b):
    """求两个数的和与差"""
    add_result = a + b
    subtract_result = a - b
    return add_result, subtract_result

result1, result2 = add_and_subtract(5, 3)
print('5 和 3 的和是:', result1)
print('5 和 3 的差是:', result2)

输出结果为:

5 和 3 的和是: 8
5 和 3 的差是: 2

四、局部变量和全局变量

在函数中定义的变量分为两种类型:局部变量和全局变量。

1. 局部变量

局部变量是在函数内部定义的变量,在函数外部不能直接访问。示例代码如下所示:

def add(a, b):
    """求两个数的和"""
    result = a + b
    return result

x = 3
y = 5
result = add(x, y)
print('x 和 y 的和是:', result)
print('result 的值是:', result)

输出结果为:

x 和 y 的和是: 8
result 的值是: 8

2. 全局变量

全局变量是在函数外部定义的变量,在函数内部可以使用,但是需要使用global关键字进行声明。示例代码如下所示:

def add():
    """求两个数的和"""
    global x
    global y
    result = x + y
    return result

x = 3
y = 5
result = add()
print('x 和 y 的和是:', result)

输出结果为:

x 和 y 的和是: 8

五、匿名函数

Python中的匿名函数是一种没有名称的简单函数,也称为lambda函数。lambda函数的语法格式如下:

lambda 参数: 表达式

其中,参数是可选的,而表达式就是lambda函数执行的代码。匿名函数的主要作用是可以简化代码,但是其功能比较单一。示例代码如下所示:

add = lambda a, b : a + b
result = add(3, 5)
print('3 和 5 的和是:', result)

输出结果为:

3 和 5 的和是: 8

六、总结

Python函数是Python编程中的基本组成部分之一,掌握了函数的基本定义和调用,参数传递以及返回值等知识点,对于Python编程的学