Python 函数基础知识汇总

  • Post category:Python

Python函数基础知识汇总

简介

Python 是一种面向对象、解释型计算机程序设计语言。它是高级语言中对于函数式编程支持最全面的语言之一,函数是 Python 编程中非常重要的一部分。在本篇攻略中,我们会介绍一些 Python 函数的基础知识。

创建函数

在 Python 中创建函数非常简单,使用 def 语句即可。下面是一个简单的例子:

def hello():
    print("Hello, World!")

这个函数不接受任何参数,当我们调用它时,它会打印 “Hello, World!” 。

函数参数

Python 函数支持多个参数,这些参数可以是必须的、可选的、关键字参数以及可变参数。下面是一些例子:

必须参数

必须参数是在调用函数时必须传递的参数。如果在调用时没有传递这些参数,Python 解释器会抛出一个 TypeError 异常。

def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))  # 输出 "Hello, Alice!"

默认参数

默认参数是在定义函数时就已经指定好的参数,如果在调用时没有传递这些参数,那么函数会使用默认值。

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

print(greet("Alice"))  # 输出 "Hello, Alice!"
print(greet("Bob", greeting="Hi"))  # 输出 "Hi, Bob!"

关键字参数

使用关键字参数可以让我们在调用函数时不必按照函数定义时的参数顺序进行传递。

def print_info(name, age, gender):
    print(f"Name: {name}")
    print(f"Age: {age}")
    print(f"Gender: {gender}")

print_info(age=25, name="Alice", gender="Female")

可变参数

使用可变参数可以让函数接受数量不定的参数。这些参数会被包含在一个元组中。

def sum(*numbers):
    result = 0
    for number in numbers:
        result += number
    return result

print(sum(1, 2, 3))  # 输出 6
print(sum(1, 2, 3, 4, 5))  # 输出 15

函数返回值

在 Python 中,函数可以返回值。如果函数没有返回值,那么默认会返回 None

def add(a, b):
    return a + b

result = add(1, 2)
print(result)  # 输出 3

在函数中可以返回任何类型的值,比如整数、浮点数、字符串、元组、列表、字典和函数等。

lambda 函数

lambda 函数是一种简单的、匿名的函数。它只有一行代码,通常用于简化代码并在不需要多次使用该函数时使用。

double = lambda x: x * 2

print(double(5))  # 输出 10

上面的代码定义了一个名为 double 的 lambda 函数,它接受一个参数 x,并返回该参数的两倍。

示例说明

示例一:计算平均值

下面是一个可以计算列表平均值的函数。

def average(numbers):
    length = len(numbers)
    if length == 0:
        return None
    return sum(numbers) / length

print(average([1, 2, 3, 4, 5]))  # 输出 3.0
print(average([]))  # 输出 None

该函数接受一个参数 numbers,该参数为一个数字列表。如果列表为空,则函数返回 None。否则函数通过调用之前定义的 sumlen 函数计算平均值,并返回计算结果。

示例二:过滤偶数

下面是一个可以过滤数字列表中偶数的函数。

def filter_even(numbers):
    return list(filter(lambda x: x % 2 == 0, numbers))

print(filter_even([1, 2, 3, 4, 5]))  # 输出 [2, 4]

该函数接受一个参数 numbers,该参数为一个数字列表。函数使用 filterlambda 表达式来过滤出列表中的偶数,并返回包含偶数的新列表。