Python基础:初识函数

1. 函数基础认知

函数是 Python 中一个非常核心的概念,理解它有助于我们更好地构建结构化、可复用的代码。

1.1 什么是函数?

函数是一个 可重复使用 的代码块,可以接收输入,执行某些操作后返回结果。其语法如下:

def function_name(parameters):
    # 执行的操作
    return result

例如:

def add(x, y):
    return x + y

result = add(2, 3)  # 调用函数,结果为 5

1.2 函数的作用

  • 封装功能:将一个特定功能封装起来,便于重复调用。

  • 提高代码可读性和可维护性:通过函数,代码结构更清晰,易于修改与维护。

  • 代码复用:避免重复代码,增加代码的复用性。

  • 分工与协作:大型项目中,函数有助于团队分工与协作,每个人负责不同功能的实现。


2. 常用的内置函数

Python 提供了大量的内置函数,这些函数使得我们可以方便地进行数据处理、类型转换、文件操作等。

2.1 基本数据类型相关

  • len():返回对象(字符串、列表、元组等)的长度

    len("hello")   # 输出:5
    len([1, 2, 3]) # 输出:3
  • type():返回对象的类型

    type(42)       # 输出:<class 'int'>
    type("hello")  # 输出:<class 'str'>
  • int() / float() / str():类型转换

    int("42")    # 输出:42
    float("3.14") # 输出:3.14
    str(100)     # 输出:"100"
  • abs():返回数字的绝对值

    abs(-5)  # 输出:5
  • sum():返回可迭代对象的和

    sum([1, 2, 3, 4])  # 输出:10

2.2 序列与迭代相关

  • range():生成指定范围的数字序列

    range(5)  # 输出:range(0, 5)
    list(range(5))  # 输出:[0, 1, 2, 3, 4]
  • enumerate():将可迭代对象组合为一个索引序列

    for i, val in enumerate(["a", "b", "c"]):
        print(i, val)
    # 输出:
    # 0 a
    # 1 b
    # 2 c
  • zip():将多个可迭代对象打包成一个元组

    list(zip([1, 2], ['a', 'b']))  # 输出:[(1, 'a'), (2, 'b')]

2.3 文件操作与系统相关

  • open():打开文件并返回文件对象

    with open("file.txt", "r") as f:
        content = f.read()
        print(content)

  • sorted():返回一个排序后的列表

    sorted([3, 1, 2])  # 输出:[1, 2, 3]
  • map():将一个函数应用于可迭代对象的每个元素

    list(map(str, [1, 2, 3]))  # 输出:['1', '2', '3']

2.4 其他常用函数

  • input():获取用户输入

    name = input("请输入名字:")
    print(f"Hello, {name}")
  • id():返回对象的唯一标识

    id(42)  # 输出:对象的内存地址(整数)
  • any():检查可迭代对象中是否有任意一个元素为真

    any([False, True, False])  # 输出:True
  • all():检查可迭代对象中的所有元素是否都为真

    all([True, True, False])  # 输出:False

3. 如何查看函数文档

Python 中每个函数和类都可以通过 文档字符串(docstring) 提供详细的使用说明。可以使用 help() 函数或者查看 __doc__ 属性来查看函数的文档。

3.1 使用 help() 查看函数文档

help(len)   # 查看 len 函数的文档

输出示例:

Help on built-in function len:

len(obj, /)
    Return the number of items in a container.

3.2 使用 .__doc__ 属性查看文档

print(len.__doc__)   # 查看 len 函数的文档字符串

输出:

Return the number of items in a container.

3.3 通过官方文档查询

Python 官方提供了丰富的 官方文档,不仅涵盖了所有内置函数、标准库,还提供了详细的示例和使用场景。查阅文档是学习 Python 函数及其用法的重要途径。


4. Python的函数对象与高阶函数

在 Python 中,函数是 一等公民,可以作为 参数传递 或者 返回值。这使得 Python 函数非常灵活,能够支持 高阶函数(接受或返回函数的函数)。

4.1 函数作为参数

def apply_function(func, value):
    return func(value)

result = apply_function(lambda x: x ** 2, 5)  # 传入匿名函数,返回 25
print(result)

4.2 函数作为返回值

def make_multiplier(factor):
    def multiplier(x):
        return x * factor
    return multiplier

double = make_multiplier(2)  # 返回一个倍数函数
print(double(5))  # 输出 10

5. 函数的作用域与闭包

Python 中的函数拥有 作用域,它定义了哪些变量能在函数内部访问。

  • 局部作用域:函数内部定义的变量

  • 全局作用域:函数外部定义的变量

5.1 闭包

闭包指的是函数定义时 携带了其外部作用域的变量,即使外部函数已经返回。闭包能够保持外部作用域的状态。

def outer(x):
    def inner(y):
        return x + y
    return inner

add_five = outer(5)
print(add_five(10))  # 输出:15

总结

  • 函数 是 Python 编程中的基本组成部分,提供了 封装功能代码复用结构化编程 的能力。

  • Python 提供了大量的 内置函数,它们简化了我们常见的任务,比如数据处理、类型转换、文件操作等。

  • 熟练使用 函数文档,能够帮助我们快速掌握内置函数的功能与用法。

  • 理解 函数的作用域与闭包,有助于更深入地理解 Python 中的作用域规则以及高级编程技巧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值