您的位置:

Python函数——简化重复代码

一、函数的定义和调用

函数是可以重复利用的代码块,可以接收参数和返回值。在Python中,使用def来定义函数,其基本语法格式如下:

def function_name(parameters):
    # function_block
    return [expression]

其中,function_name是函数名,parameters是参数列表,函数代码块以冒号(:)开始,以缩进结束,return语句是可选的。

我们可以通过以下方式来调用一个函数:

# 无参函数调用
function_name()

# 有参函数调用
function_name(parameters)

下面是一个简单的求和函数示例:

def add(num1, num2):
    # 计算两数之和
    sum = num1 + num2
    return sum

# 调用add()函数
result = add(1, 2)

print("1 + 2 = ", result)

二、函数参数

Python函数的参数可以分为以下三种类型:

1. 必需参数:函数调用时必须传入的参数,且参数数量与定义时一致。

2. 关键字参数:通过指定参数名来传递参数,可以不按定义位置传递参数,这样就可以把参数传递给不同位置的函数。

3. 默认参数:函数定义时,给参数指定一个默认值,如果调用时没有传递该参数,则使用默认值。

下面是一个函数参数类型的示例:

def print_car_info(make, model, year):
    print("车辆信息:")
    print("车厂商:", make)
    print("车型号:", model)
    print("年份:", year)

# 1. 必需参数
print_car_info("Honda", "Accord", 2020)

# 2. 关键字参数
print_car_info(year=2019, model="Camry", make="Toyota")

# 3. 默认参数
def print_car_color(make, model, year, color="白色"):
    print("车辆信息:")
    print("车厂商:", make)
    print("车型号:", model)
    print("年份:", year)
    print("颜色:", color)

print_car_color("Honda", "Civic", 2018)

三、可变参数和关键字可变参数

函数定义时可以加上*args和**kwargs,使函数可以接受变长参数,其中:

1. *args表示任意数量的非关键字参数,参数列表被转换为一个元组。

2. **kwargs表示任意数量的关键字参数,参数列表被转换为一个字典。

下面是一个可变参数和关键字可变参数的示例:

def print_pizza(size, *toppings, **extras):
    print("您的比萨信息:")
    print("尺寸:", size)
    print("配料:")
    for topping in toppings:
        print("-", topping)
    print("额外选项:")
    for extra, value in extras.items():
        print("-", extra, ":", value)

print_pizza("中", "奶酪", "蘑菇", "玉米", 饮料="可乐", 餐具="一次性")

四、Lambda函数

Lambda函数也称为匿名函数,可以在不定义函数名的情况下定义一个简单的函数。Lambda函数的语法格式如下:

lambda arguments: expression

其中,arguments是参数列表,expression是一个表达式。

下面是一个Lambda函数的示例:

# Lambda函数求平方和
result = (lambda x, y: x ** 2 + y ** 2)(2, 3)

print("2^2 + 3^2 = ", result)

五、总结

Python函数是一种很重要的编程工具,可以将程序的重复代码分离出来,提高代码可重用性和可维护性。函数的参数、可变参数和Lambda函数等特性,更是给我们的编程带来了更大的灵活性。