1.什么是Python?
Python仅仅是其他编程语言的替代品吗?
不,我们认为Python是一种生态语言[1]。
Python在计算机生态的大背景中诞生和发展,其简洁和面向生态的设计理念得到了广泛认同,形成了全球最大的单个语言开源编程社区。超过9万个第三方库覆盖了从大数据到人工智能,从文本到虚拟现实等几乎所有的计算领域。
Python能将其他优秀的编程语言封装起来,降低使用复杂度。因此我们认为Python为【生态语言】。
Python语言是一个语法简洁、跨平台、可扩展的开源通用脚本语言。
Python语言诞生于1990年,由Guido van Rossum设计并领导开发,该语言Python命名源于Guido对英剧“Monty Python’s Flying Circus”的兴趣。
2000年,Python 2.0发布。Python社区逐渐发展壮大,对Python的发展推广起到了非常重要的作用。
2008年,Python 3.0发布。Python已成为了一种集合命令式程序设计、函数式编程、面向对象程序设计等多种编程范式于一体的脚本语言。
关于版本的选择,建议使用3.x版本,因为2.x版本官方已于2020年1月停止维护了,新的项目基本都用3.x去写。
2.为什么要学Python?
作为一种神奇而又通用的编程语言,Python已经被成千上万的开发者用来构建各种有趣而有用的项目。在GitHub上,有三个项目[2],引起了我极大的兴趣。
项目一: DeepFaceLab
GitHub链接:https://github.com/iperov/DeepFaceLab
DeepFaceLab是一个可以创建深度伪造图像和视频的工具,它让你可以做很多有趣的事情,比如改变、去年龄、交换面孔,你甚至可以改变他们的语音,不过这需要熟练掌握视频编辑软件。
开发者声称,互联网上95%以上的深度假视频都是用这个工具制作的。这个项目非常最有趣。
项目二:Google Images Download
GitHub 链接: https://github.com/hardikvasa/google-images-download
此项目可以让你一次性从谷歌下载数百张图片到你的电脑上。这个工具的工作方式是你安装库,使用命令,用你想要的关键字作为参数,然后让这个工具发挥它的魔力。本质上是在Google Images的索引中搜索指定关键字的图片,一旦找到就下载它们。
看到别的学生还在一张张的找图片,而自己可以自动下载无数美女图片,想想都觉得鸡冻。
项目三:Photon
GitHub 链接: https://github.com/s0md3v/Photon
Photon是一个使用Python构建的强大且易于使用的网络爬虫,允许收集和分析从公开或公共来源获得的信息。
Photon可以从众多来源中抓取的信息,包括并不限于:
社交媒体账户、电子邮件;文件,如pdf、png、xml文件,JavaScript文件。
Photon将所有提取的信息有条理的保存起来,而且可以导出为JSON文件。
没错,爬虫正是我学Python的目的。
你可以从网络上抓去你想要的高清无码大片,鸡冻的飞起。
Python的应用范围很广泛,能做的事情很多,几乎涉及所有的程序设计领域,被称为『胶水语言』。在爬虫、数据分析、人工智能等方面,都发挥着不可替代的作用。在办公自动化方面,Python可以让你的办公更加方便和快捷。
另外,Python可以轻松制作游戏,编写一款个性游戏,给家人玩一玩,还可以按照家人的想法设计修改。我想,这是一件无比幸福和自豪的事情。
3.怎样学Python?
3.1Python之父给我们的建议
关于学习python的建议,python之父Guido van Rossum说:
实用主义。如果你过分纠缠数据封装,访问控制、抽象或规范这样的理论概念,你就不是一个真正的 Python 程序员。而且,你会浪费时间在「与语言为敌」上面。什么是与语言为敌,就是你是用 Python 的时候,还试图延续 Java 的使用习惯。你应该去享受它,使用它的特性。如果你信奉即时满足,喜欢极限编程和敏捷开发,那 Python 就是你的最爱。
3.2选定目标,操练起来
光看不练,相当于纸上谈兵。熟能生巧。多多上机实操,找一本参考书,按照书上的实例,自己敲代码复现。
有一定的编程基础后,找一个感兴趣的项目,可以是一个小游戏或者爬虫项目,自己编写代码实现一遍。 遇到不懂得及时查找资料。
操练起来吧,有目标的操练永远是学习编程的不二法门。
3.3善用Github
作为开源代码库,Github拥有超过900万开发者用户。上面有大量的Python开源项目,找一个感兴趣的项目实现一下,遇到问题及时查找资料,Python水平会得到很大的提升。
说到学Python,Github上有一个【Python - 100天从新手到大师】的项目另我印象深刻。
项目: Python-100-Days
GitHub链接:
https://github.com/jackfrued/Python-100-DaysDeepFaceLab
说:
Python是一个“优雅”、“明确”、“简单”的编程语言,非专业人士也能上手。
然后,给初学者提了几个建议:
· Make English as your working language. (让英语成为你的工作语言)
· Practice makes perfect. (熟能生巧)
· All experience comes from mistakes. (所有的经验都源于你犯过的错误)
· Don't be one of the leeches. (不要当伸手党)
· Either outstanding or out. (要么出众,要么出局)
3.4网络学习资源
1.廖雪峰的Python教程
网址:https://www.liaoxuefeng.com/wiki/1016959663602400
这是针对小白的Python新手教程,对新手比较友好,有完整示例。针对以下用户设计[3]:
· 会使用电脑,但从来没写过程序;
· 还记得初中数学学的方程式和一点点代数知识;
· 想从编程小白变成专业的软件架构师;
· 每天能抽出半个小时学习。
2.Python官方文档
最权威的当然就是Python官网了,上面提供Python的下载以及官方文档。官方文档不一定适合初学者,但是任何一本参考书或者教程,都不可能有官方文档那么的全面、准确、权威。有的参考书可能针对初学者,有的比较通俗易懂有自己的特色,它们都是针对特定的人群设计的。
Python官网地址:https://www.python.org/
不喜欢看英语的可以看看Python官方中文文档:
https://docs.python.org/zh-cn/3/
3.5参考书籍
1.Eric Matthes《Python编程从入门到实践》
作者Eric Matthes是高中科学和数学老师,他从5岁开始,就一直在编写程序。他现居住在阿拉斯加,在当地讲授Python入门课程。本书是结合作者学习和教学经验写作而成的,旨在帮助小白成长为一名专业的程序员。
在本书的第一部分,你将会学习用Python编程所必须了解的基本概念,这部分的知识能够让你开发更大和更复杂的项目。
第二部分将第一部分学到的知识,讲解如何开发三个项目:包括简单的Python 2D游戏开发;数据可视化;以及创建和定制简单的名为“学习笔记”的Web应用。
本书是一本针对所有层次的读者而作的Python入门书,也是我正在用的书,里面的内容确实通俗易懂。
B站还有配套视频:https://www.bilibili.com/video/av35698354
2.Warren Sande《父与子的编程之旅 》
本书中,Warren和Carter父子以亲切的笔调、通俗的语言,透彻全面地介绍了计算机编程世界。
父子俩以简单易学的Python语言为例,通过可爱的漫画、有趣的例子,生动地介绍了数据变量、循环、输入和输出语句、数据结构以及图形用户界面等编程的基本概念。
父子俩由简入难,直到教会我们编写程序,甚至会制作有趣的游戏。适合初学者。
3.Wesley Chun《Python 核心编程》
本书全面涵盖了当今应用开发中的众多领域,为中级Python开发人员提供实践方法,指引了无数读者入门并提高的Python经典书籍,被誉为提高Python技能的必读书。本书并不适合初学者,适合具有一定经验的Python开发人员阅读。
本书主要分为3部分:第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、多线程编程、GUI编程、数据库编程以及Microsoft Office编程等内容;第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、Django Web框架、云计算、高级Web服务等内容;第3部分则为一个补充/实验章节,包括文本处理以及GUI开发实例等一些其他内容。