基础语法14 Python函数

1、什么是函数?

函数是Python编程中的基本构建块之一。它是一段可重用的代码,用于执行特定任务或计算,并具有以下优点:
1.1 模块性:函数将代码分解成小的、可管理的块,使代码更易于理解和维护。
1.2 可重用性:函数可以在程序的不同部分多次调用,避免了代码的重复编写。
1.3 参数化:函数可以接受参数,使其可以根据不同的输入进行不同的操作。
1.4 返回值:函数可以返回结果,供其他部分的代码使用。

2、如何定义和使用函数?

2.1 定义函数

在Python中,使用def关键字来定义函数,如下所示:

def greet(name):
    return f"Hello, {name}!"

上述代码定义了一个名为greet的函数,它接受一个参数name,并返回一个包含问候消息的字符串。

2.2 调用函数

要调用函数,只需使用函数名并传递所需的参数,如下所示:

message = greet("Alice")
print(message)  # 输出:Hello, Alice!

3、函数的参数和返回值

3.1 参数的作用

函数的参数允许您向函数传递信息或数据。参数可以是必需的或可选的,可以有默认值。

def add(a, b=0):
    return a + b

result = add(3, 5)  # 调用时传递两个参数

3.2 返回值的作用

函数可以返回一个或多个值。返回值使函数能够产生结果,可以在其他地方使用。

def multiply(a, b):
    return a * b

result = multiply(4, 6)  # 返回值被赋给result

4、数的说明文档

  Python允许您为函数添加说明文档,以便其他人或自己了解函数的用途和使用方法。这通常通过文档字符串(docstring)完成。

def add(a, b):
    """
    This function adds two numbers.
    
    Parameters:
    a (int): The first number.
    b (int): The second number.
    
    Returns:
    int: The sum of a and b.
    """
    return a + b

您可以使用help()函数来查看函数的说明文档。

5、函数嵌套

Python允许在一个函数中嵌套另一个函数。这使得代码更有结构性和可读性。

def outer_function():
    print("This is outer function.")
    
    def inner_function():
        print("This is inner function.")
    
    inner_function()

6、变量作用域

变量的作用域指定了变量在代码中的可访问范围。Python有以下两种主要的变量作用域:

局部作用域:变量在函数内部定义,只能在函数内部访问。
全局作用域:变量在函数外部定义,可以在整个程序中访问。

global_variable = 10

def my_function():
    local_variable = 5
    print(global_variable)  # 可以访问全局变量
    print(local_variable)   # 可以访问局部变量

my_function()

7、多函数程序执行流程

  在一个Python程序中,多个函数可以相互调用,形成执行流程。程序通常从一个特定的入口函数开始执行,然后根据函数之间的调用关系依次执行。

def main():
    print("This is the main function.")
    sub_function()

def sub_function():
    print("This is a sub function.")

main()  # 执行主函数,触发子函数的执行

8、拆包和交换两个变量的值

Python允许您通过拆包和交换来轻松交换两个变量的值。

a = 5
b = 10

a, b = b, a  # 通过拆包和交换实现变量值交换
print(a, b)  # 输出:10 5

9、引用、可变和不可变类型

Python中的变量可以视为引用,它们引用了内存中的对象。这些对象可以是可变或不可变的。

可变类型:对象的内容可以在不更改引用的情况下进行修改,如列表、字典。
不可变类型:对象的内容无法更改,每次更改都会创建一个新的对象,如整数、字符串、元组。

mutable_list = [1, 2, 3]
immutable_string = "Hello"

mutable_list.append(4)  # 可以修改列表

# immutable_string[0] = "J"  # 不能修改字符串

10、递归

递归是一种函数调用自身的技术,通常用于解决可以分解为相似子问题的问题。

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

result = factorial(5)  # 计算5的阶乘

11 、Lambda表达式和高阶函数

  Lambda表达式允许您创建匿名函数,通常用于简单的操作。

add = lambda x, y: x + y

result = add(3, 5)  # 使用Lambda函数进行加法运算

  高阶函数是能够接受函数作为参数或返回函数的函数。它们在处理集合、映射和过滤等任务时非常有用。

numbers = [1, 2, 3, 4, 5]

# 使用高阶函数map将函数应用于列表的每个元素
squared = list(map(lambda x: x**2, numbers))

  这些是Python函数的关键概念和用法。通过掌握这些概念,可以更高效地编写Python代码,并构建功能强大的程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蜗的房子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值