【Python】函数

打印 上一主题 下一主题

主题 981|帖子 981|积分 2943


   个人主页:Guiat
归属专栏:Python

  


  
正文
1. 函数的定义

1.1 基本定义方式

在 Python 中,使用 def 关键字来定义函数。其基本语法如下:
  1. def function_name(parameters):
  2.     """函数文档字符串,用于描述函数的功能和使用方法"""
  3.     # 函数体,包含具体的执行代码
  4.     return result  # 可选,用于返回函数的结果
复制代码
以下是一个简单的示例,定义一个用于盘算两个数之和的函数:
  1. def add_numbers(a, b):
  2.     """计算两个数的和"""
  3.     return a + b
复制代码
1.2 函数名和参数



  • 函数名应该具有形貌性,依照 Python 的命名规范(通常使用小写字母和下划线)。
  • 参数是函数吸收的输入值,可以有零个或多个。参数在函数定义时位于括号内,多个参数之间用逗号分隔。
2. 函数的调用

2.1 基本调用方式

定义好函数后,可以通过函数名加上括号并传入相应的参数来调用函数。例如,调用上面定义的 add_numbers 函数:
  1. result = add_numbers(3, 5)
  2. print(result)  # 输出 8
复制代码
2.2 参数通报



  • 位置参数:按照参数在函数定义中的顺序依次通报值。例如:
  1. def greet(name, message):
  2.     print(f"{message}, {name}!")
  3. greet("Alice", "Hello")  # 位置参数传递
复制代码


  • 关键字参数:通过指定参数名来通报值,如许可以不按照参数定义的顺序。例如:
  1. greet(message="Hi", name="Bob")  # 关键字参数传递
复制代码


  • 默认参数:在函数定义时可以为参数指定默认值,调用函数时假如没有提供该参数的值,则使用默认值。例如:
  1. def greet(name, message="Hello"):
  2.     print(f"{message}, {name}!")
  3. greet("Charlie")  # 使用默认的 message 值
复制代码
3. 函数的返回值

3.1 return 语句

return 语句用于从函数中返回一个值,并制止函数的实行。一个函数可以有多个 return 语句,但只有一个会被实行。例如:
  1. def is_even(num):
  2.     if num % 2 == 0:
  3.         return True
  4.     return False
  5. print(is_even(4))  # 输出 True
复制代码
3.2 返回多个值

在 Python 中,函数可以通过返回一个元组的方式返回多个值。例如:
  1. def get_name_and_age():
  2.     name = "David"
  3.     age = 25
  4.     return name, age
  5. name, age = get_name_and_age()
  6. print(f"Name: {name}, Age: {age}")
复制代码
4. 函数的作用域

4.1 局部变量

在函数内部定义的变量是局部变量,只能在函数内部访问。例如:
  1. def example_function():
  2.     local_variable = 10
  3.     print(local_variable)
  4. example_function()
  5. # print(local_variable)  # 这行代码会报错,因为 local_variable 是局部变量
复制代码
4.2 全局变量

在函数外部定义的变量是全局变量,可以在函数内部访问,但假如要在函数内部修改全局变量的值,须要使用 global 关键字。例如:
  1. global_variable = 20
  2. def modify_global():
  3.     global global_variable
  4.     global_variable = 30
  5. modify_global()
  6. print(global_variable)  # 输出 30
复制代码
5. 匿名函数(Lambda 函数)

5.1 定义和使用

Lambda 函数是一种简便的、匿名的函数,通常用于简单的、一次性的操纵。其基本语法为:
  1. lambda arguments: expression
复制代码
以下是一个使用 Lambda 函数的示例,用于盘算两个数的乘积:
  1. multiply = lambda a, b: a * b
  2. print(multiply(4, 6))  # 输出 24
复制代码
5.2 应用场景

Lambda 函数常用于须要通报一个简单函数作为参数的环境,例如在 map()、filter() 等函数中。例如,使用 map() 函数将列表中的每个元素都平方:
  1. numbers = [1, 2, 3, 4]
  2. squared_numbers = list(map(lambda x: x ** 2, numbers))
  3. print(squared_numbers)  # 输出 [1, 4, 9, 16]
复制代码
6. 递归函数

6.1 定义和原理

递归函数是指在函数内部调用自身的函数。递归函数通常包罗两个部分:基本环境(制止条件)和递归环境。基本环境用于制止递归,避免无穷循环。例如,盘算阶乘的递归函数:
  1. def factorial(n):
  2.     if n == 0 or n == 1:
  3.         return 1  # 基本情况
  4.     return n * factorial(n - 1)  # 递归情况
  5. print(factorial(5))  # 输出 120
复制代码
6.2 优缺点



  • 优点:递归函数可以使代码更加简便、清晰,尤其实用于处置处罚具有递归布局的题目,如树的遍历、分治算法等。
  • 缺点:递归函数可能会导致栈溢出错误,尤其是在递归深度很大的环境下。同时,递归函数的性能可能不如迭代实现,由于每次递归调用都须要额外的栈空间和函数调用开销。
结语
感谢您的阅读!等待您的一键三连!欢迎指正!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表