全部学习汇总: GreyZhang/python_basic: My learning notes about python. (github.com)
首先说明一下,这部分信息的整理只是我个人的理解。由于自己的知识功底以及英语水准,很可能会有大量的疏漏。再此,我只想把自己学习时候的一点收获整理分享一下。如果能够给别人一点点帮助,荣幸之至。如果有错误,也请予以斧正。如果感觉我有描述不清的,当然也可以跟我邮件交流。以下是我的联系方式:
Email : greyzhang@126.com
第一周的课程其实更多的在于科普,讲解一部分简单的概念。有点学习之前的导语的意思,主要介绍一下这门课程的一些目标。带着目标去学习后面的课程,可能收获会跟自己的探索式学习相比大不一样。
内容主要分为四部分:计算机的功能、机器思维、编程艺术、Python简介。
计算机功能:
简单来说就是两个功能,计算与存储。
计算的速度自然是快捷无比,现在的计算机普遍都能够达到多少G HZ的主频。常用的计算机运算速度快到真的是难以想象,而我之前确实是也没有做过相应的计算。拿两个例子来说明一下计算机的运算速度吧!例子1:从你把台灯的开关按下到电把台灯点亮,PC大约可以执行2个指令。例子2:把一个球从1米的高度扔出到它落到地面,PC能够执行10亿条指令。这速度确实是足够惊人,而数据可以很容易计算出。
存储相对来说简单,计算机能够把计算结果存储下来以备你后面访问。
计算机思维:
- 能够把要做的事情分解描述
- 具有分支判断功能
- 制定出一定的规则让计算机按照相应的步骤执行
- 适用于解决“如何实现XXX?”这种模式的问题而不适用于去解决“XXX是什么?”的问题。
编程的艺术:
掌握编程的艺术需要掌握两个方面的内容:一个是编程语言另一个是算法。
关于编程语言,示范采用Python。根据图灵实现(Turning Complete),一种处理方式用一种编程语言实现一定也能够用另一种编程语言实现。因此,编程语言的使用其实是一种表面功夫,真正的精髓是对计算机科学本质的了解。
关于算法,其实就是利用上面提到的计算机思维来思考问题把问题描述出来。描述的方式可能会有多种,但是优秀的程序应该有清晰、高效的算法。
Python简介:
从程序代码到可执行程序通常有两种模式。
第一种模式:代码——检查器——解析器——输出
第二种模式:代码——检查器——编译器——目标代码——解析器——输出
低级语言一般使用类似于内部控制单元行为的指令集,检查器确认语法,解析器按照简单的指令序列执行程序。
高级语言使用了更加抽象的描述,在一种编译语言中。这种抽象描述先被转变成低级的指令然后再进行处理。
而解析型语言,特殊的程序把代码转换成内部的数据结构,然后解析器把程序一步步转换成低级指令执行。而Python,属于解析型编程语言。
编程语言一般都具有的特性:有固定的语法、语义唯一、支持分支跳转的方法。Python的语法比较简单但是在语法中包含了特别的缩进检查机制,提供了while、for、if等分支循环。
以下是简单的编程操作示范:
>>> 123 + 456
579
>>> 'abc' + 'ghj'
'abcghj'
>>> 9/2
4
>>> 9/2.0
4.5
>>> 2 * 3
6
>>> 'abc' * 3
'abcabcabc'
>>> 3 > 1
True
>>> 3 == 3
True
>>> 3 == 2
False
这些指令在Python的解析器shell窗口输入后立即会出现执行结果。而把这些按顺序写入到一个文件再通过解析器解析执行,这已经就是一种程序文件。通常情况下,针对解析语言的这种指令操作集合文件就被称之为脚本。
结束语:
最近在猛啃PowerPC的底层驱动,包括通讯加各个方面的驱动。平时的时间特紧张,工作其实挺忙的,也小有压力!不过有些东西确实是在这段时间让我有了很多改变,遇到后觉得相见恨晚,我还是想把这些东西分享一下!本来自己的能力就不如大家,这让我觉得很安心,因为走在最后的人永远也不用担心被在前面奔跑的人再次超越!哈哈,自嘲一下!
学习期间,我把这些知识信息绘制成了一张简单的思维导图,按照课程的介绍。后来按照这张图写这篇手记的时候我调整了一下层级结构,感觉调整后说明会好一些。原始的思维导图一并附上,当做最后的总结吧!