写在前面:对于开始学习这本书,我认为学习之后要有个思维导图,这样可能会有利于学习总结和回忆知识点。所以,每一章的开头,都会放当前章节的思维导图帮助理解和梳理。
1.1 从计算机到编程
从古代结绳记日,结绳以解决各种算术记数问题到算盘的发明与应用,随着人类的发展,社会对计算需求越来越大。19世纪英国人巴贝奇设计了一台以齿轮组合来进行高精度计算的机器,预示着机器计算的到来。20世纪初,出现了机电式的计算机器。
在战争的刺激之下,军事化管理以及战争武器的设计将计算的要求推至高处。这期间一位英国数学家破解了德国传奇密码机,他提出了通用计算机的理论概念,他的名字叫阿兰·图灵。后来,德国工程师康拉德·楚泽发明了能编写程序的Z3计算机,这看起来似乎是现代计算机的雏形。
而真正引领新时代——计算机时代的是战后宾夕法尼亚大学的埃尼阿克,他研制处理一台符合图灵标准并且能通过编程来执行多样的计算任务。其与机电式计算机器不同,它有大量的真空管,从而能快速运算,其提升的计算速度几乎是机电式的一千倍,这是一次革命性的飞跃。
计算机的大体结构,都采用了冯·诺伊曼体系:计算机采用二进制运算,包括控制器、运算器、存储器、输入设备和输出设备。五个部分相互配合,执行特定操作。
操作系统是运行在计算机上的一套软件,负责管理计算机的软硬件,它使得计算机用户大多不需要和硬件直接接触。而操作系统提供了一套系统调用来规定操作系统支持的操作,由于系统调用有时候比较麻烦,所以操作系统又定义了一些库函数,把系统调用组合成特定功能。
1.2 所谓的编程,是做什么的
简单来讲,编程是人与机器互动的基本方式。而编程过程则是调用计算机的基本指令,如果完全使用基本指令来说明所有的操作将会变得十分冗长和麻烦,于是人们利用封装节省了许多工作量,封装即是把执行特殊功能的指令打包成一个程序块,进行代码的复用。封装代码的方式多样,不同方式都要遵循特定的编程范式,如有面向过程编程、面向对象编程和函数式编程。
1.3 为什么学Python
Python从ABC语言得到启发和希望,受ABC语言影响的同时,它是用C语言实现的,能够调用C语言生成的动态链接库,并且一出生便具有完整的基本语法。同时它主要具有以下的优点:
1.通过强制缩进保证代码的易读性
2.遵循了其他语言的一些语法惯例,具有实用性
3.可以在多个层次上拓展,可直接引入C和C++语言编译出的丰富类库,具有可拓展性
1.4 最简单的Hello World
每一门语言学习的第一个代码便是hello world,Python自然也不能例外。实现该语句,需要调用python中的print()函数。使用Python总的来说有两种方式,第一种方式是通过命令行:
>>>print("Hello World!")
回车(Enter)确认:
>>>Hello World!
第二种方式便是写一个程序文件:
"""
Author:Everyone
Function:display text on the screen
"""
print("Hello World!") #display text on the screen
结果同上
通过程序文件,可以添加注释,一行内容用#,多行用两个" " "括起来,详细请看上面的代码行。