一、函数的定义和调用
函数是可以重复利用的代码块,可以接收参数和返回值。在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函数等特性,更是给我们的编程带来了更大的灵活性。