手把手教你学会Python函数
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编程的学
