一、编程范式
编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式,对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式。
不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路, 两种最重要的编程范式分别是面向过程编程和面向对象编程。
1、面向过程的程序设计
面向过程概念
面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么问题。
特点
优点:复杂问题流程化,进而简单化。
缺点:可扩展性差、可维护性差(一套流程仅解决一个问题,如果修改代码,会非常繁复)。
适用场景
一般用于那些功能一旦实现之后就很少需要改变的场景, 如果你只是写一些简单的脚本,去做一些一次性任务。著名的例子有Linux內核,git,以及Apache HTTP Server等。但如果你要处理的任务是复杂的,且需要不断迭代和维护 的, 那还是用面向对象最方便。
import json def interactive(): name = input('>>: ').strip() pwd = input('>>: ').strip() email = input('>>: ').strip() return { 'name': name, 'pwd': pwd, 'email': email } def check(user_info): is_valid = True if len(user_info['name']) == 0: print('用户名不能为空') is_valid = False if len(user_info['pwd']) < 0: print('密码不能少于6位') is_valid = False return { 'is_valid': is_valid, 'user_info': user_info } def register(check_info): if check_info['is_valid']: with open('db.json', 'w', encoding='utf-8') as f: json.dump(check_info['user_info'], f) def main(): user_info = interactive() check_info = check(user_info) register(check_info) if __name__ == '__main__': main()