Python 编程范式的科普
编程范式是计算机编程的基本风格或典范模式。如果说每个编程者都在创造虚拟世界,那么编程范式就是程序员置身其中采用的世界观和方法论。
常见的编程范式包括:
- 面向过程编程
- 面向对象编程
编程范型提供了程序员对程序执行的看法:在面向过程编程中,程序员认为程序是一系列相互调用的过程或者函数;在面向对象编程中,程序员认为程序是一系列相互作用的对象;而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。
不同的编程语言也会提倡不同的编程范式,一些语言是专门为某个特定的编程范式设计的。例如,C 支持面向过程编程,Java 支持面向对象编程。Python 编程语言支持多种编程范式,应该在不同的应用场景下,选择合适的编程范式。
1. 面向过程编程
1.1 概述
面向过程编程是一种以过程为中心的编程思想,程序由一系列相互调用的过程组成。面向过程编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。
面向过程编程特别适合解决线性(或者说按部就班)的算法问题。在这类算法问题中,解决问题的途径由多个步骤构成,使用函数描述每个步骤,因此使用函数对问题建模非常合适。
面向过程编程强调 “自顶向下” 和 “精益求精” 的设计方式。解决一个复杂的问题的方法是将问题划分为多个子问题,将子问题再继续分解直到问题足够简单到可以在一个小步骤范围内解决。
面向过程编程不足之处就是它不适合某些种类问题的解决,例如图形化编程,在图形化编程中,客观世界由具体的对象(窗口、标签、按钮等)组成,无法自然的将函数与图形对象一一对应,因此面向过程编程不适合用于图形化编程的领域。
1.2 例子
本节采用面向过程编程的方式完成这样的任务:将文本文件中小写字母转换为大写字母。将任务划分为 3 个步骤:
- 读取文本文件的内容
- 对读取的文本进行转换,将小写字母转换为大写字母
- 把转换后的内容保存到文件中
任务被划分为 3 个简单的子任务,然后使用函数实现每个子任务,采用面向过程编程的方式解决这样的问题非常自然。
设计与实现的步骤如下:
1. 设计主任务和子任务:
任务名称 | 函数名 | 任务功能描述 |
---|---|---|
主任务 | main | 执行子任务 |
读取任务 | read_file | 读取文本文件的内容 |
转换任务 | transform | 将小写字母转换为大写字母 |
保存任务 | save_file | 把转换后的内容保存到文件中 |
- 实现主任务