个人主页:Guiat
归属专栏:Python
正文
1. 函数的定义
1.1 基本定义方式
在 Python 中,使用 def 关键字来定义函数。其基本语法如下:
- def function_name(parameters):
- """函数文档字符串,用于描述函数的功能和使用方法"""
- # 函数体,包含具体的执行代码
- return result # 可选,用于返回函数的结果
复制代码 以下是一个简单的示例,定义一个用于盘算两个数之和的函数:
- def add_numbers(a, b):
- """计算两个数的和"""
- return a + b
复制代码 1.2 函数名和参数
- 函数名应该具有形貌性,依照 Python 的命名规范(通常使用小写字母和下划线)。
- 参数是函数吸收的输入值,可以有零个或多个。参数在函数定义时位于括号内,多个参数之间用逗号分隔。
2. 函数的调用
2.1 基本调用方式
定义好函数后,可以通过函数名加上括号并传入相应的参数来调用函数。例如,调用上面定义的 add_numbers 函数:
- result = add_numbers(3, 5)
- print(result) # 输出 8
复制代码 2.2 参数通报
- 位置参数:按照参数在函数定义中的顺序依次通报值。例如:
- def greet(name, message):
- print(f"{message}, {name}!")
- greet("Alice", "Hello") # 位置参数传递
复制代码
- 关键字参数:通过指定参数名来通报值,如许可以不按照参数定义的顺序。例如:
- greet(message="Hi", name="Bob") # 关键字参数传递
复制代码
- 默认参数:在函数定义时可以为参数指定默认值,调用函数时假如没有提供该参数的值,则使用默认值。例如:
- def greet(name, message="Hello"):
- print(f"{message}, {name}!")
- greet("Charlie") # 使用默认的 message 值
复制代码 3. 函数的返回值
3.1 return 语句
return 语句用于从函数中返回一个值,并制止函数的实行。一个函数可以有多个 return 语句,但只有一个会被实行。例如:
- def is_even(num):
- if num % 2 == 0:
- return True
- return False
- print(is_even(4)) # 输出 True
复制代码 3.2 返回多个值
在 Python 中,函数可以通过返回一个元组的方式返回多个值。例如:
- def get_name_and_age():
- name = "David"
- age = 25
- return name, age
- name, age = get_name_and_age()
- print(f"Name: {name}, Age: {age}")
复制代码 4. 函数的作用域
4.1 局部变量
在函数内部定义的变量是局部变量,只能在函数内部访问。例如:
- def example_function():
- local_variable = 10
- print(local_variable)
- example_function()
- # print(local_variable) # 这行代码会报错,因为 local_variable 是局部变量
复制代码 4.2 全局变量
在函数外部定义的变量是全局变量,可以在函数内部访问,但假如要在函数内部修改全局变量的值,须要使用 global 关键字。例如:
- global_variable = 20
- def modify_global():
- global global_variable
- global_variable = 30
- modify_global()
- print(global_variable) # 输出 30
复制代码 5. 匿名函数(Lambda 函数)
5.1 定义和使用
Lambda 函数是一种简便的、匿名的函数,通常用于简单的、一次性的操纵。其基本语法为:
- lambda arguments: expression
复制代码 以下是一个使用 Lambda 函数的示例,用于盘算两个数的乘积:
- multiply = lambda a, b: a * b
- print(multiply(4, 6)) # 输出 24
复制代码 5.2 应用场景
Lambda 函数常用于须要通报一个简单函数作为参数的环境,例如在 map()、filter() 等函数中。例如,使用 map() 函数将列表中的每个元素都平方:
- numbers = [1, 2, 3, 4]
- squared_numbers = list(map(lambda x: x ** 2, numbers))
- print(squared_numbers) # 输出 [1, 4, 9, 16]
复制代码 6. 递归函数
6.1 定义和原理
递归函数是指在函数内部调用自身的函数。递归函数通常包罗两个部分:基本环境(制止条件)和递归环境。基本环境用于制止递归,避免无穷循环。例如,盘算阶乘的递归函数:
- def factorial(n):
- if n == 0 or n == 1:
- return 1 # 基本情况
- return n * factorial(n - 1) # 递归情况
- print(factorial(5)) # 输出 120
复制代码 6.2 优缺点
- 优点:递归函数可以使代码更加简便、清晰,尤其实用于处置处罚具有递归布局的题目,如树的遍历、分治算法等。
- 缺点:递归函数可能会导致栈溢出错误,尤其是在递归深度很大的环境下。同时,递归函数的性能可能不如迭代实现,由于每次递归调用都须要额外的栈空间和函数调用开销。
结语
感谢您的阅读!等待您的一键三连!欢迎指正!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |