python函数和python匿名函数lambda详解

  • Post category:Python

Python 函数和匿名函数 Lambda

Python 函数

函数是一段可重复使用的代码块,它会在调用时执行特定的任务。你可以根据需要向函数传递不同的参数,或者通过函数返回值获取结果。

定义函数

在 Python 中,使用 def 定义函数。下面是一个简单的示例:

def greet(name):
    """
    打印一个简单的问候语

    name: str,表示要被问候的人的姓名
    """
    print(f"Hello, {name}!")

在此示例中,greet 函数接受一个 name 参数,并打印一个问候语。

调用函数

要使用 greet 函数,只需要将一个字符串作为参数传递给它:

greet("World")
# Output: Hello, World!

函数参数

Python 函数可以接受不同数量的参数。下面是一个接受两个参数的示例:

def add_numbers(x, y):
    """
    返回两个数的和

    x, y: int,要相加的两个数
    """
    return x + y

在此示例中,add_numbers 函数接受两个参数 xy,并返回它们的和。

函数返回值

要从函数中返回值,使用 return 语句。下面是一个返回某个数的平方的示例:

def square(number):
    """
    返回一个数的平方

    number: int,要被平方的数
    """
    return number ** 2

在此示例中,square 函数接受一个参数 number,并返回它的平方。

Python 匿名函数 lambda

匿名函数是没有名称的函数,也称为 lambda 函数。lambda 表达式通常用于函数参数。它们是一种快捷方式,可以在不定义正式函数的情况下编写简短的函数。

基本语法

lambda 表达式使用 lambda 关键字定义,并可以有一个或多个参数。下面是一个简单的示例:

greet = lambda name: print(f"Hello, {name}!")

在此示例中,我们定义了一个名为 greet 的 lambda 函数,并传递了一个参数 name。lambda 函数体仅有一行,打印了一个问候语。注意,我们不需要使用 return 语句。

在函数参数中使用 lambda 函数

lambda 函数通常用于函数参数,以便我们可以在函数调用时动态地定义一个小型函数。下面是一个将给定列表中的所有字符串转换为大写字母的示例:

strings = ["Hello", "World", "Python"]

uppercase_strings = list(map(lambda string: string.upper(), strings))

print(uppercase_strings)
# ["HELLO", "WORLD", "PYTHON"]

在此示例中,map 函数接受两个参数:一个函数和一个可迭代对象(列表)。lambda 函数定义了如何转换列表中的每个字符串。map 函数将这个函数应用于每个字符串,并返回一个新的列表,其中所有字符串都转换为大写字母。

在条件表达式中使用 lambda 函数

lambda 函数也可以用于条件表达式,例如:

# 判断一个数字是不是偶数
is_even = lambda number: True if number % 2 == 0 else False

print(is_even(2))  # True
print(is_even(3))  # False

在此示例中,is_even lambda 函数接受一个参数 number,并返回一个表示该数字是否为偶数的布尔值。在 lambda 函数体中,我们使用条件表达式来判断数字是偶数还是奇数。

总结

Python 函数是可重复使用的代码块,用于执行特定的任务。函数可以接受任意数量的参数,并可以返回值。Python lambda 函数是没有名称的函数,可以在不定义正式函数的情况下编写简短的函数。它们通常用于函数参数和条件表达式。