1.3.1 面向过程编程中的基础概念
根据编程思想的不同,编程可以分为面向过程编程与面向对象编程。面向过程编程注重具体的算法与逻辑,面向对象编程则注重抽象的属性与行为。在学习算法和编程思路时,一般都以面向过程的思想来编程,本书也主要采用面向过程的编程方式来进行讲解,并且本书提供的示例代码大多是面向过程的。但是在实际的项目开发中,更多使用面向对象的思想来编程,面向对象的编程方式有着更好的复用性与扩展性,可以大大提高大型项目的开发效率。
下面将介绍在面向过程编程中常见的几个基础概念。
1.数据类型
编程的本质是数据结构加算法。数据结构是指计算机存储、组织数据的方式。不同的数据结构实际上构成了不同的数据类型。Python中的数据类型分为标准数据类型与自定义数据类型。
标准数据类型有6种,分别为Number(数字)类型、String(字符串)类型、List(列表)类型、Tuple(元组)类型、Set(集合)类型、Dictionary(字典)类型。不同的数据类型用来描述不同的数据,例如Number类型专门用来描述数字数据,如整数、小数等。
自定义类型通常指自定义的类,类在面向对象编程中非常重要,后面会介绍。
2.变量
在编程中,变量是一个非常重要的概念。简单理解,变量是用来存放数据的容器,在一些编程语言中,变量也有类型,指定类型的变量只能存放指定类型的数据,例如整型的变量只能存放整型的数据。在Python中,数据有类型,但是变量本身没有类型,Python中的变量可以存放任意类型的数据,使用起来十分方便。
3.函数
函数是一段拥有具体功能的代码块,在需要使用函数的功能时,只需要简单地进行调用即可。由于函数的存在,使得我们编写的程序可以复用,软件开发的过程也变得可拆解。编程中的函数有3要素:参数、返回值和函数体。参数决定函数的输入,返回值决定函数的输出,函数体是具体的函数功能代码。
4.表达式
表达式是组成程序逻辑的最小单元。在Python中,通常一个表达式独占一行,表达式可以是某个逻辑结构,例如条件判断逻辑,也可以是一个运算过程,例如进行数学运算。表达式描述了程序的运行逻辑。
5.流程控制
流程控制是编程中的一种专业术语,编程语言都会有流程控制的功能,不然就无法实现复杂的程序逻辑。几乎所有编程语言都有这样几种流程控制语句:条件语句、循环语句和中断语句。
6.算法
算法并不是编程中特有的概念,其是指解决问题的方案。编程的目的是解决问题,无论是理论上的问题还是应用上的问题,实际上都是通过算法来解决的。算法也是程序的灵魂,好的算法可以用最高的效率解决最复杂的问题。
7.时间复杂度
时间复杂度是描述算法优劣的一种维度,通常情况下,随着算法输入规模的增加,时间复杂度越小的算法性能表现会越好,算法执行所消耗的时间越短。
8.空间复杂度
与时间复杂度类似,空间复杂度也是描述算法优劣的一种维度,空间复杂度决定了随着算法输入规模的增加,算法执行所需占用空间的情况。很多时候,时间复杂度低的算法往往空间复杂度会高,空间复杂度低的算法时间复杂度相对会高。
9.运算符
从字面意思上理解,运算符即用来执行运算的符号。在编程中,大部分的表达式都是由变量和运算符构成的,变量用来存储数据,运算符用来对数据进行运算。Python中默认集成了常用的数学运算相关的运算符,使用十分方便。
10.内存
任何程序的运行都需要开辟内存,从硬件上讲,内存是计算机中的一种快速存储设备,从逻辑上讲,内存可以理解为一大块存储数据的空间,程序运行前都会被先加载到内存中,在编程时,创建的变量、函数等各种数据也都会临时存储在内存中。