本文共 2269 字,大约阅读时间需要 7 分钟。
函数是编程中的核心概念,它是一段可以重复使用的代码块,用于执行特定任务。简单来说,函数可以接收输入,处理数据,并返回结果。Python 提供了内置函数(如 print()
),但我们也可以自己定义函数,这被称为“用户自定义函数”。
定义一个函数需要遵循以下规则:
def
关键词,后接函数名称和参数列表。return
语句结束函数,可以选择性地返回一个值给调用方。不带表达式的 return
相当于返回 None
。def functionname( parameters ): """函数文档字符串""" function_suite return [expression]
以下是一个简单的 Python 函数,它将一个字符串作为传入参数,并打印到标准输出设备上。
def printme( str ): """打印传入的字符串到标准显示设备上""" print(str) return
定义了一个函数后,你可以通过调用它来执行其功能。函数可以直接从 Python 提示符执行,也可以被其他函数调用。以下是一个实例:
# 定义 printme 函数def printme( str ): """打印传入的字符串到标准显示设备上""" print(str) return# 调用 printme 函数printme("我要调用用户自定义函数!")printme("再次调用同一函数")
在 Python 中,参数是按引用传递的。如果你在函数内修改了参数,原始的参数值也会被修改。例如:
def changeme( mylist ): """修改传入的列表""" mylist.append([1, 2, 3, 4]) print("函数内取值: ", mylist) return# 调用 changeme 函数mylist = [10, 20, 30]changeme(mylist)print("函数外取值: ", mylist)
Python 函数支持多种参数类型,包括:
def printinfo( name, age = 35 ): """打印传入的字符串""" print("Name: ", name) print("Age: ", age) return# 调用 printinfo 函数printinfo(name="miki", age=50)printinfo(name="miki") # 缺省使用默认值 age=35
def printinfo( arg1, *vartuple ): """打印任何传入的参数""" print("输出: ", arg1) for var in vartuple: print(var) return# 调用 printinfo 函数printinfo(10)printinfo(70, 60, 50)
Lambda 函数是一种小型匿名函数,可以通过 lambda
关键字创建。它只能返回一个表达式的值,适用于简单的任务。例如:
sum = lambda arg1, arg2: arg1 + arg2# 调用 sum 函数print("总和: ", sum(10, 20))print("总和: ", sum(20, 20))
return
语句用于退出函数,可以选择性地返回一个值。例如:
def sum( arg1, arg2 ): """返回两个参数的和""" total = arg1 + arg2 print("函数内总和: ", total) return total# 调用 sum 函数total = sum(10, 20)print("函数外总和: ", total)
变量的作用域决定了它在程序中的可访问范围。全局变量可以在程序的整个范围内访问,而局部变量只在定义它的函数内部可访问。例如:
# 全局变量total = 0def sum( arg1, arg2 ): """返回两个参数的和""" total = arg1 + arg2 print("函数内总和: ", total) return total# 调用 sum 函数sum(10, 20)print("函数外总和: ", total)
通过以上内容,你已经掌握了 Python 自定义函数的核心知识,包括定义、调用、参数传递、匿名函数以及变量作用域等内容。这些知识是编写高效且可维护的 Python 代码的基础。
转载地址:http://carfk.baihongyu.com/