在计算机科学中，子程式（，），是一个大型程式中的某部份程式码，由一个或多个语句块组成。它负责完成某项特定zh-cn:任务; zh-tw:工作;，而且相较于其他程式码，具备相对的独立性。一般会有输入参数并有zh-cn:返回值; zh-tw:传回值;，提供对过程的封装和细节的隐藏。这些代码通常被整合为软件库。函数在面向过程的语言中已经出现。是结构（）和zh-cn:类; zh-tw:类别;（）的前身。本身就是对具有相关性语句的归类和对某过程的抽象。
分类.