文章目录
为什么学习编程
编程可以训练思维,这一理由还不够吗,而且编程还是很有趣的事。
一、计算机编程
▼1. 三种思维:
准确地说,编程训练了我们的计算机思维。
计算思维是体现了一种抽象交互关系,形式化执行的思维模式。
- 以数学为代表的逻辑思维;
- 以物理为代表的实证思维;
- 以编程为代表的计算思维;
▼2. 编程过程:
编程是一个求解问题的过程,首先需要分析问题,抽象内容之间的交互关系,设计利用计算机求解问题的确定性方法,进而通过编写和调试代码解决问题,这是从抽象问题到解决问题的完整过程。
编程不单纯是求解计算题,它要求作者不仅要思考解决问题的方法,更要思考如何让程序有更好的用户体验、更高的执行效率和更有趣的展示效果。
编程需要对时代和使用群体文化的多元认知,比细微处给出更好的用户体验,这些思考和实践将帮助程序作者加深用户行为以及社会和文化的认知。
▼3. 程序设计语言
程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机指令能够自动进行各种运算处理。
按照程序设计语言规则组织的一系列计算机指令的集合称为计算机程序。
▼4. 编程真的不难学
很多人认为“编程非常难学,需要高深的数学知识”,这其实是一种认知的误区。
编程有框架和模式,只要理解了这些模式,稍加练习就会有很好的学习效果。
学习一门程序设计语言的过程:
- 首先,要掌握该语言的语法(系统掌握,灵活使用);
- 其次,学会结合计算问题设计程序结构,从程序块、功能块角度理解并设计整个程序框架;
- 最后,掌握解决问题的能力,即从理解计算机问题开始,设计问题的解决方法,并通过编程语言来实现。
所以学习编程,要多学、多问、多想,尤其是要独立编写和上机调试,学会举一反三,提高自己的程序设计能力。
二、程序设计基本方法
每个计算机程序都用来解决特定计算机问题。
▼1. 利用计算机解决问题
需要结合计算机技术的发展水平和人类问题的思考程度,在特定技术和社会条件下,分析出一个问题最经济、最合理的计算部分,进而用程序实现。
▼2. IPO方法
IPO描述了程序设计的过程,运行模式,进而建立程序设计的基本概念的方法。
IPO方法:Input输入——Process处理——Output输出。
1). 输入(Input)
输入程序的开始,程序处理的数据有多种来源,有多种输入方法。
包括:文件输入、网络输入、控制台输入、交互界面输入、随机数据输入、内部参数输入。
2). 处理(Process)
对输入数据进行计算并产生输出结果。计算问题的方法称为“算法",算法是程序的灵魂。
3). 输出(Output)
程序展示运算结果的方法。
包括:控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出。
▼计算机解决问题的6个步骤
步骤:分析问题——划分边界——设计算法——编写程序——调试测试——升级维护
1). 分析问题:分析问题的计算部分——想清楚;
在特定技术或指定条件下,分析出一个问题最经济、最合理的计算部分,进而用程序实现。这不仅是编程问题,更重要的是思维问题。
2). 划分边界:划分问题的功能边界——规划IPO;
在确定问题计算部分的基础上,精确定义或描述问题的功能边界,即明确问题的输入、处理、输出的要求。这里只关心功能需求,无须关心功能的具体实现方法。
3). 设计算法:设计问题的求解算法——关注算法;
结构简单的直接设计算法。功能复杂则需要利用程序设计方法将“大功能"划分成“小功能",或者将功能中相对独立的部分封装成具备属性和操作的类,并在各功能或类之间设计处理流程。
4). 编写程序:编写问题的计算程序——编程序;
5). 调试测试:调试程序使正确运行——运行调试;(其中4、5步用计算机处理)
6). 升级维护:适应问题的升级维护——更新完善;
▼3. 计算机解决问题的精简3步骤
- 确定IPO:明确计算部分及辅助功能;(1、2步)
- 编写程序:将计算求解的设计变成现实;(3、4步)
- 调试程序:确保程序依具规定的逻辑能够正确运行。(5步)
三、Python之禅
import this
优美胜于丑陋
明了胜于隐晦
简洁胜于复杂
复杂胜于混乱
扁平胜于嵌套
宽松胜于紧凑
可读性很重要
即便是特例,也不可违背这些规则
虽然现实往往不那么完美
但是不应该放过任何异常
除非你确定需要如此
如果存在多种可能,不要猜测
肯定有一种——通常也是唯一一种——最佳的解决方案
虽然这并不容易,因为你不是Python之父
动手比不动手要好
但不假思索就动手还不如不做
如果你的方案很难懂,那肯定不是一个好方案
如果你的方案很好懂,那肯定是一个好方案
命名空间非常有用,我们应当多加利用