小白自学笔记之Python入门-第一章 Python是啥?
你肯定能猜到这里Python是一种编程语言。但实际上,Python的原意是“大蟒蛇”,有点吓人吧!你看Python的标志就是两条蛇,下图就是。

为什么是蟒蛇呢?钱钟书说,“假如你吃了个鸡蛋,觉得不错,何必要认识那下蛋的母鸡呢?”这是大家的低调与谦逊,但是普通人还是要八卦一下, Python的创始人,就是下面这位。

Guido van Rossum是一名荷兰计算机程序员,曾在Google工作。1989年,Guido在阿姆斯特丹圣诞节假期觉得没意思,于是就开发了一个新的编程语言。之所以把这门新的编程语言称作Python,是因为Guido特别喜欢一个电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus),就是这么随意。看到这儿,咱们有必要思考一下:假期无聊时我们会做什么?吃零食、追剧、刷手机……大神和普通人的差距就是这样一步一步拉开的。
Python的英音是[ˈpaɪθən],美音是[ˈpaɪθɑːn]。一般来说我们中国人看到这个单词就会读“拍森”,反正我是这样读的,可是听到外国人读“拍桑”,啊欧错了,但发音又不容易改,直到我查到它的英音是“拍森”,所以就心安理得的继续读下去了。
说道编程语言,不得不提TIOBE(本文知识点都统一采用这种样式),TIOBE又是啥?TIOBE就是一个编程语言排行榜,根据全世界受欢迎程度列出的编程语言排名(网址:https://www.tiobe.com/tiobe-index/)。TIOBE的英文解释如下。
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, You Tube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
2020年六月的Top10排名如下,由此可见Python还是比较受欢迎的,所以尽力学好,怎么样,学完咱也是懂IT的人了。

现在我们知道了Python是一种很受欢迎的编程语言,主要原因是Python相对简单,而应用范围广。相对于C、C++、Visual C++、Java、Visual Basic、FoxPro、MATLAB、Fortran、SQL、Pascal来说(我能说这几种语言我都一瓶子不满,半瓶子晃荡吗),Python真的是比较简单的。但是Python有标准库、第三方库和外部工具,所以功能相当强大!标准库、第三方库和外部工具到底是些啥不重要,只要了解一点:如果是Python自己不能解决的问题,可以使用很多其它的工具完成,我自己没有那就用别人的吧。还有,Python可以调用其他语言的程序,这一点更加扩展了Python的功能,如可以调用C、C++、Java、SQL等等。下面简单列举一些第三方库及其网址,只是为了说明Python功能很强大,估计小白目前用不到,所以下面斜体部分可以不看,黑体是我们这个笔记中会介绍的。
网络爬虫
requests:https://pypi.org/project/requests/简洁且简单的处理HTTP请求的第三方库
scrapy:https://scrapy.org/快速、高层次的Web获取框架
数据分析
numpy:http://www.numpy.org/开源数值计算扩展第三方库
scipy:https://pypi.org/project/scipy/专为科学以及工程计算的第三方库
pandas:http://pandas.pydata.org/可高效地操作大型数据集的第三方库
文本处理
pdfminer:https://pypi.org/project/pdfminer/从PDF文档中提取各类信息的第三方库
openpyxl:https://pypi.org/project/openpyxl/处理MicrosoftExcel文档的Python第三方库
python-docx:https://pypi.org/project/python-docx/处理MicrosoftWord文档的Python第三方库
beautifulsoup4:https://pypi.org/project/beautifulsoup4/从HTML和XML文件中解析出数据的第三方库
用户图形界面
PyQt5:https://pypi.org/project/PyQt5/成熟的商业级GUI第三方库
wxpython:https://pypi.org/project/wxPython/优秀的GUI图形库
pygtk:https://pypi.org/project/PyGTK/轻松创建具有图形用户界面程序的第三方库
机器学习
Scikit-learn:https://scikit-learn.org/stable/简单且高效的数据挖掘和数据分析工具
Tensorflow:https://pypi.org/project/tensorflow/人工智能学习系统
Theano:http://deeplearning.net/software/theano/执行深度学习中大规模神经网络算法的运算
Web开发
Django:https://pypi.org/project/Django/最流行的开源Web应用框架
Pyramid:https://pypi.org/project/pyramid/通用、开源的PythonWeb应用程序开发框架
Flask:https://pypi.org/project/Flask/轻量级Web应用框架
游戏开发
Pygame:https://www.python.org/面向游戏开发入门的Python第三方库
Panda3D:http://www.panda3d.org/开源、跨平台的3D渲染和游戏开发库
cocos2d:https://pypi.org/project/cocos2d/构建2D游戏和图形界面交互式应用的框架
数据可视化
Matplotlib:https://matplotlib.org/提供数据绘图功能的第三方库,主要进行二维图表数据展示
TVTK:https://www.lfd.uci.edu/~gohlke/pythonlibs/图形应用函数库,是专业可编程的三维可视化工具
mayavi:https://pypi.org/project/mayavi/方便实用的可视化软件
【上述参考网络资料】

下面谈谈怎么才能学好Python。先给大家介绍一个学习金字塔理论,这个理论不单单适用于Python,可以用于所有的学习。学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少,最早是由美国学者、著名的学习专家爱德加·戴尔1946年首先发现并提出的。

在塔尖,第一种学习方式——“听讲”,也就是老师在上面说,学生在下面听,这种我们最熟悉最常用的方式,学习效果却是最低的,两周以后学习的内容只能留下5%。
第二种,通过“阅读”方式学到的内容,可以保留10%。
第三种,用“声音、图片”的方式学习,可以达到20%。
第四种,是“示范”,采用这种学习方式,可以记住30%。
第五种,“小组讨论”,可以记住50%的内容。
第六种,“做中学”或“实际演练”,可以达到75%。
最后一种在金字塔基座位置的学习方式,是“教别人”或者“马上应用”,可以记住90%的学习内容。
爱德加·戴尔提出,学习效果在30%以下的几种传统方式,都是个人学习或被动学习;而学习效果在50%以上的,都是团队学习、主动学习和参与式学习。
由上可知,如果想学习效率高就尽量采用主动学习和参与式学习,特别是多采用“马上应用”或者“教别人”的方式。在编程学习过程中,“马上应用”可以采用学完知识点之后就上机编程实践,“教别人”可以采用学完知识点之后自己出一些题目并提供参考答案的方式进行。
学习Python的参考资料
https://www.icourse163.org/course/BIT-268001
中国大学MOOC:搜索嵩天 一系列的Python基础及进阶课程
Python语言程序设计 北京理工大学 嵩天
https://www.w3school.com.cn/python/index.asp
w3schools的学习社区及菜鸟编程平台
https://www.liaoxuefeng.com/wiki/1016959663602400
廖雪峰Python教程
https://www.w3cschool.cn/python3/python3-tutorial.html
W3Cschool是一个专业的编程入门的在线教程及使用手册
最后一个问题,Python分为Python2.x和Python3.x,不要想当然的以为后者是前者的版本升级,实际上这两个是不兼容的,而且差异比较大(可以自行Baidu),强烈不推荐使用Python2.x进行编程。准备好了吗?let’s go!
等一下,还有一个问题,Python的编程环境用哪种?我用的是Python自带的IDLE和PyCharm,小白用足够了,等级考试使用IDLE(考试环境Windows操作系统,建议 Python3.4.2至 Python3.5.3版本,IDLE开发环境——摘自考试大纲),大家也可以自行百度下载安装,或者用另一个Anaconda,原意是“水蟒蛇”,也够吓人。Anaconda里包含了很多工具包,以后用到这些工具时可以不用自己安装, PyCharm就要自己下载安装一些库。下图是Anaconda的图标。

作业:自己安装一下Python的编程环境(IDLE, Integrated Development and Learning Environment, IDE:Integrated Development Environment)

补充资料:Python所需软件及安装
注意:不同的机器会有所不同,请大家自己解决遇到的问题,按照图中红色矩形框选择
如何安装Python
官网:https://www.python.org/

PyCharm
http://www.jetbrains.com/pycharm/download/

你的笔记



