Python函数柯里化:将多参数函数转化为单参数函数链
Created|Python
一、引言如果你写过 functools.partial,或者曾经用闭包"锁定"一个参数,那你其实已经在不知不觉中使用了**柯里化(Currying)**的思想。这个名字来源于数学家 Haskell Curry,而它背后的思想极为简洁:将接受多个参数的函数,转化为一系列只接受一个参数的函数。 从 Python 的视角出发,柯里化不仅是一种函数式编程技巧,更是深入理解闭包、高阶函数与"函数是对象"这三件事的绝佳切入点。 二、什么是柯里化2.1 原始定义在数学和 lambda 演算中,柯里化的定义是: 将一个接受 N 个参数的函数 f(a, b, c) 转化为 f(a)(b)(c) —— 即接受第一个参数返回新函数,新函数接受第二个参数返回下一个新函数,直到收集完所有参数时执行原始逻辑。 2.2 一个直观的例子从一个简单的加法函数开始: 12345# 普通写法:一次接受两个参数def add(a, b): return a + bprint(add(3, 5)) # 输出:8 柯里化之后: 123456789#...


Recent Posts
Categories
- C++85
- C-Code23
- CMake3
- CS501
- Computer-Networking40
- Computer-Organization1
- Data Structures and Algorithms1
- Data-Structures6
- Essay1
- Essays4
- Foundational Syntax and Core Concepts4
- Git3
- HTTP2
- Interview7
- Lcov2
- Leetcode133
- Linux40
- Linux Internals2
- List1
- Lists1
- MQTT8
- MYSQL3
- MySQL1
- Operating-Systems7
- PKGCONF1
- Python49
- Redis14
- STL3
- UML1
- XML1
- lock1
- practice problems1
- 代码提交1
- 函数模板2
- 工厂模式2
- 文章13
- 类图1
- 编译1
- 设计模式8
- 链表1
Archives
- 2026年04月 7
- 2026年03月 7
- 2026年02月 3
- 2026年01月 5
- 2025年12月 11
- 2025年11月 6
- 2025年10月 5
- 2025年09月 15
- 2025年08月 5
- 2025年07月 5
- 2025年06月 5
- 2025年05月 5
- 2025年04月 5
- 2025年03月 5
- 2025年02月 5
- 2025年01月 5
- 2024年12月 6
- 2024年11月 6
- 2024年10月 12
- 2024年09月 11
- 2024年08月 11
- 2024年07月 9
- 2024年06月 9
- 2024年05月 28
- 2024年04月 41
- 2024年03月 41
- 2024年02月 37
- 2024年01月 43
- 2023年12月 5
- 2023年11月 6
- 2023年10月 5
- 2023年09月 4
- 2023年08月 4
- 2023年07月 6
- 2023年06月 5
- 2023年05月 7
- 2023年04月 5
- 2023年03月 5
- 2023年02月 5
- 2023年01月 5
- 2022年12月 6
- 2022年11月 11
- 2022年10月 7
- 2022年09月 4
- 2022年08月 3
- 2022年07月 5
- 2022年06月 7
- 2022年05月 4
- 2022年04月 4
- 2022年03月 4
- 2022年02月 5
- 2022年01月 5
Website Info
Article Count :
480
Runtime :
Total Word Count :
788.6k
Last Update :