Python函数用法及作用详解
Python函数是一组具有特定函数名和函数参数的代码,在程序中可以重复使用,即调用,达到重复使用代码的目的。函数的基本语法如下:
def function_name(parameters):
statement(s)
其中,function_name 为函数名称,parameters 为函数参数,函数的主体在 statement(s) 中定义。下面将详细介绍 Python 函数的用法及作用。
## 1. 函数调用
在 Python 中,函数的调用非常灵活,用户通常可以通过“函数名+括号”的方式来调用函数。例如:
def hello(name):
print('Hello ' + name + '!')
hello('Tom') # 调用 hello 函数并传递参数
运行结果:
Hello Tom!
在函数调用时,可以将参数传递给函数。在上述例子中,参数为 'Tom',可以传递任何类型的参数,包括整数、浮点数、字符串、列表、元组等等。
def maximum(x, y):
if x > y:
return x
else:
return y
print(maximum(2, 3)) # 输出 3
print(maximum(5.3, 3.4)) # 输出 5.3
print(maximum('a', 'b')) # 输出 b
运行结果:
3 5.3 b
## 2. 函数返回值
在 Python 函数中,可以使用 return 语句返回一个值或一组值。如果没有指定 return 语句,则默认返回 None。
def add(x, y):
return x + y
result = add(2, 3)
print('The sum is', result)
运行结果:
The sum is 5
上述例子将两个整数相加并返回其值。值被存储在 result 变量中,然后被打印出来。
在 Python 中,一个函数可以返回多个值。例如:
def swap(x, y):
return y, x
a = 2
b = 3
a, b = swap(a, b)
print('a =', a)
print('b =', b)
运行结果:
a = 3 b = 2
## 3. 参数传递
在 Python 中,参数可以通过位置传递或关键字传递。
### 3.1 位置参数
在函数中,参数根据其在参数列表中的位置进行传递。
def greet(name, message):
print('Hello', name + ',', message)
greet('Tom', 'welcome to Python') # 输出 Hello Tom, welcome to Python
### 3.2 关键字参数
在函数中,可以指定参数的名称,以解决参数位置可能发生混乱的问题。
def greet(name, message):
print('Hello', name + ',', message)
greet(message='welcome to Python', name='Tom') # 输出 Hello Tom, welcome to Python
从上述例子可以看到,关键字参数并不严格地需要按顺序出现,只需要函数定义中中指定的参数名与实际所传递的参数名相同。
### 3.3 默认参数
在函数中,可以为参数指定默认值。如果调用函数时省略了该参数,则使用默认值代替。
def greet(name, message='welcome to Python'):
print(f'Hello {name}, {message}')
greet('Tom')
greet('Alex', 'how are you?')
运行结果:
Hello Tom, welcome to Python Hello Alex, how are you?
从上述例子可以看到,第二个调用中指定了 message 参数('how are you?');但在 个调用中省略了 message 参数,因此使用默认值('welcome to Python')。
## 4. Lambda 函数
Lambda 函数是一种快速定义单行的小函数。它使用关键字 lambda 定义,而不是使用 def。
add = lambda x, y: x + y print(add(2, 3)) # 输出 5
上述代码定义了一个 lambda 函数,将两个数字相加,并将结果存储在 add 变量中。然后,将它们作为参数传递给 lambda 函数,它将返回它们的和。
Lambda 函数通常用于需要在很短时间内编写的函数或在内联代码中编写的函数。
