本篇有点长,大家一定要耐心看完,对初学者的你帮助很大!值得收藏!

编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python相关的东西吧,并说一下我对编程的理解。

懒人目录:

  • 一、名词解释
  • 二、Python开发环境
  • 三、常用Python IDE介绍
  • 四、Python IDE推荐及一些小建议
  • 五、Python 精品书籍

一、名词解释

如果在编程方面接触的比较少,那么对于软件这一块,有几个名词一定要了解,比如开发环境、IDE、代码编辑器、编译器、调试器等等,我先列出来自百度百科关于这几个词的解释。

开发环境:

软件开发环境(Software Development Environment,SDE)是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

IDE:

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。

编译器:

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

其实百度百科对于这几个词条的解释已经很透彻了,但是对于一些刚接触程序的伙伴来说可能依然很难理解。简单点来说,以我们常见的JAVA语言为例,其实如果你想写一个程序,如果你的电脑里已经安装了JDK,那么其实你已经不需要任何其他的软件就可以实现一些功能。那有人会问,我看大家写JAVA都用eclipse或者intelliJ IDEA呀,没错,大家写JAVA大部分人都用eclipse或者intelliJ IDEA,但是要知道,那个软件叫IDE,或者说就是一个编辑器,一个简易版的eclipse是不会提供JDK的,JDK是需要我们自己单独安装的,这个JDK就是开发环境,你所编写好的代码,如果想编译和运行,就需要JDK这个开发环境所支持,而eclipse和intelliJ IDEA是提供让你编辑、调试、用JDK来编译程序用的,也就是说,你用什么编辑器并不影响你程序的编写,而这些编辑器是让你提高效率,方便调试用的,这些是可选的,而开发环境是必选的。

二、Python开发环境

好了,我们长篇大论说了这么多关于其他语言的事情,为的就是能让小伙伴们理解软件的关系,接下来我们好好聊聊Pyhton。

Python其实和其他的编程语言还有点不太一样,它是一种脚本语言,就如同MATLAB语言一样,我们也可以管它叫解释型语言吧。因此,python的运行的过程中,和我们的传统语言,比如C、C++这种编译型语言不太一样,python的运行其实是一种解释的过程,因此它需要解释器,当然,这里我们不考虑把Python编译成可执行文件。如果想运行Python程序,那么必不可少的就是Python的开发环境。

Python原版环境

在Python官网,有提供Python的原版开发环境,该环境为最核心,也是“干净”或者说“纯净”的环境。

Python开发环境下载地址:https://www.python.org/downloads/

Anaconda:

Anaconda其实属于一站式服务,里面集成了Python的运行环境,并集成了数百种库,此外该软件里面还有Anaconda Navigtor、Jupyter notebook、qtconsole和spyder等,由于集成的功能比较多,用起来相对来说省心一些。

Anaconda下载地址:https://www.anaconda.com/distribution/

一点小建议:

对于Windows的小伙伴们来说,如果喜欢小巧、干净的开发环境,可以优先考虑Python的原版开发环境,如果需要Jupyter notebook和虚拟环境,可以单独用pip来安装。虚拟环境可以安装virtual environment。如果自己不喜欢折腾,喜欢一步到位的那种感觉,可以考虑使用Anaconda,会在开发中提供一定的方便。

对于Linux的小伙伴来说,比较推荐Anaconda,因为Linux自带了Python,并且Linux中有很多依赖于Python的程序,如果对Python操作不慎,则会对系统的稳定性造成影响。如果比较熟悉Python,对Python的操作经验比较丰富,可以考虑不安装Anaconda,采用虚拟环境的开发方式进行开发。

三、常用Python IDE介绍

有了开发环境了,就需要有编辑器之类的软件。其实在安装Python开发环境的时候,就已经自带了一个编辑器,叫IDLE,不过老实讲,这个编辑器用起来真的不是很舒服,尤其是编辑比较庞大的工程的时候。而且,万能的记事本也可以编辑Python,但是我们肯定不能那么干。那么接下来就推荐几款可以编辑python的编辑器。

notepad++:

Notepad++是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。Notepad++是免费软件,可以免费使用,自带中文,支持众多计算机程序语言: C,C++,Java,pascal,C#,XML,SQL,Ada,HTML,PHP,ASP, AutoIt, 汇编, DOS批处理, Caml, COBOL, Cmake, CSS,D, Diff, ActionScript, Fortran, Gui4Cli, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make处理(Makefile), Matlab, INI文件, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal,Python, Javascript,Verilog,Haskell,InnoSetup,CMake,VHDL,Matlab。

notepad++的下载地址:https://notepad-plus-plus.org/

PyCharm:

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。PyCharm在编写和调试Python方面可谓是强者,软件使用简单,功能强大,值得推荐。

PyCharm下载地址:https://www.jetbrains.com/pycharm/

该软件Pro版本为付费软件,如果想免费使用,可以使用社区版。如果你有学校的邮箱,那么你还可以学生版来免费使用,幸运的是,学生版可以体验到专业版的功能。

VS Code:

Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。这个软件太漂亮了,我忍不住要放一张图。

VS Code下载地址:https://code.visualstudio.com/

Sublime Text 3:

类似于VS Code,Sublime Text同样具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux和Mac OS等操作系统。

Sublime Text 3下载地址:http://www.sublimetext.com/

Atom:

Atom 是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点,并且支持包含Python在内的众多语言。它支持宏,自动完成分屏功能,集成了文件管理器。

Atom下载地址:https://atom.io/

Eclipse:

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。Eclipse并不限于编写JAVA,它也可以编写C、python等程序。

Eclipse下载地址:https://www.eclipse.org/downloads/

四、Python IDE推荐及一些小建议

市面上Python IDE有很多,每个IDE都有自己的特点和长处,只有选择适合自己的IDE,开发才会得心应手,事半功倍。

对于小萌新们来说,Pycharm绝对是不二的选择,Pycharm功能齐全,界面友好,现已有民间汉化包,无论是在代码分析上,还是在环境安装上,Pycharm都给提供了方便的解决方案,免去了很多折腾环境的麻烦,尽可能把复杂的事情交给IDE来完成。

但是Pycharm有个很致命的缺点,由于功能过于强大,界面也过于华丽,Pycharm对电脑配置的要求很高,动不动内存就会上1G,所以对于有经验的开发人员来说,VS code、Sublime和Atom等软件成为了重要的工具。这些软件十分开放,经过精心的配置和第三方插件的加持,功能也很强大。但是这些软件配置并不简单,所以很适合有经验的伙伴,对于小萌新们来说,不是很友好。

Notepad++说是代码编辑器,其实我觉得它更像是一个阅读器或者是一个十分轻巧的修改工具。因为它的轻巧,所以查看代码和做一些简单修改会变得十分方便。如果为了开发,还是优先考虑VS code、Sublime和Atom等软件为好。

至于Eclipse,我想我们还是逐渐淡忘它吧,新事物的诞生,旧事物的淘汰,这是亘古不变的话题。新工具的出现,在一定程度上会弥补经典工具的缺陷。对于一些怀旧的伙伴来说,如果能找到一些开发上的解决方案,倒也可以享受经典工具打来的乐趣。不过适应新鲜的事物,不断提升自己的工作效率,不也是一件好事么?

Python是一种多功能语言。它经常用作Web应用程序的脚本语言,嵌入到软件产品中,以及人工智能和系统任务管理。它既简单又强大,非常适合初学者和专业程序员。

五、Python 精品书籍

精选了51本高质量的Python书籍。里面涵盖各种各样的书籍,其中包含适用于初学者,中级和高级程序员的,也有针对特别领域的,例如,着重于编写Python游戏的,在Python界口碑极好的……最最重要的是,里面的所有的书籍都提供免费下载。

下面来看看书单。

Python核心编程第三版(中文版)

python核心编程第三版中文版PDF,python进阶教程,包含正则,网络编程,数据库编程,GUI,Django,爬虫,云计算假设等内容,实乃居家旅行,疯狂写码,必备良书!

Python是一种不复杂但很健全的编程语言。它不光具备传统编译型程序设计语言强大的功能和复杂性,还在某种程度上具备比较简单的脚本和解释型程序设计语言的易用性。该书向读者介绍了这种语言的核心内容,并展示了Python语言可以完成哪些任务。其主要内容包括:语法和编程风格、Python语言的对象、Web程序设计、执行环境等。该书条理清晰、通俗易懂,是学习Python语言的最好教材及参考手册。, 所附光盘包括Python语言最新的三个版本及书中示例代码。

Python学习手册 第4版(中文版)

Google和YouTube由于PythonF的高可适应性、易于维护以及适合于快速开发而采用它。《Python学习手册(第4版)》将帮助你使用Python编写出高质量、高效的并且易于与其他语言和工具集成的代码。《Python学习手册(第4版)》根据Python专家MarkLutz的著名培训课程编写而成,是易于掌握和自学的Python教程。

《Python学习手册(第4版)》每一章都对Python语言的关键内容做单独讲解,并且配有章首习题,便于你学习新的技能并巩固加深自己的理解。书中配有大量注释的示例以及图表,它们都将帮助你轻松地学习Python3.0。

《Python学习手册(第4版)》学习Python的主要内建对象类型:数字、列表和字典。使用Python语句创建和处理对象,并且学习Python的通用语法模型。使用函数构造和重用代码,函数是Python的基本过程工具。学习Python模块:封装语句、函数以及其他工具,以便构建较大的组件。学习Python的面向对象编程工具,用于组织程序代码。学习异常处理模型,以及用于编写较大程序的开发工具。了解高级Python工具,如装饰器、描述器、元类和Unicode处理等。

Python算法教程

Python是一种面向对象、解释型计算机程序设计语言,其应用领域非常广泛,包括数据分析、自然语言处理、机器学习、科学计算以及推荐系统构建等。

Python算法教程用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的结尾,给出了练习题的提示,方便读者进行查漏补缺。

本书概念和知识点讲解清晰,语言简洁。本书适合对Python算法感兴趣的初中级用户阅读和自学,也适合高等院校的计算机系学生作为参考教材来阅读。

编程小白的第一本 Python入门书

为了能让更多的编程小白轻松地入门编程,把高效学习法结合 Python 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化场景帮你理解概念,穿插了若干有趣的小项目,最重要的是,这本书是为零基础小白而设计的。

既然笨办法不能学会 Python,那么决定用一种聪明方法来学,为自己创造学习的捷径。这种高效学习法的核心在于:?

1、精简:学习最核心的关键知识;?

2、理解:运用类比、视觉化的方法来理解这些核心知识;?

3、实践:构建自己的知识体系之后,再通过实践去逐渐完善知识体系。

不写字典式的知识体系,有些编程书像字典一样,各种细枝末节的知识都涵盖在内。正如不应该让小孩拿着字典学汉语,也不应该让初学者拿着这样的厚书学编程。在汉语中,掌握常见的1500-2000个字就能看懂80%的文字。在编程中,同样有着最核心的关键知识。先用这些关键的知识构建你的知识体系会让学习效率加速,这是比一开始就钻到各种细枝末节里面更好的学习方式。这是精简的意义。

用Python写网络爬虫

作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用。使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站。

《用Python写网络爬虫》作为使用Python来爬取网络数据的杰出指南,讲解了从静态页面爬取数据的方法以及使用缓存来管理服务器负载的方法。此外,本书还介绍了如何使用AJAX URL和Firebug扩展来爬取数据,以及有关爬取技术的更多真相,比如使用浏览器渲染、管理cookie、通过提交表单从受验证码保护的复杂网站中抽取数据等。本书使用Scrapy创建了一个高级网络爬虫,并对一些真实的网站进行了爬取。

《用Python写网络爬虫》介绍了如下内容:?

通过跟踪链接来爬取网站;?

使用lxml从页面中抽取数据;?

构建线程爬虫来并行爬取页面;?

将下载的内容进行缓存,以降低带宽消耗;?

解析依赖于JavaScript的网站;?

与表单和会话进行交互;?

解决受保护页面的验证码问题;?

对AJAX调用进行逆向工程;?

使用Scrapy创建高级爬虫。

本书是为想要构建可靠的数据爬取解决方案的开发人员写作的,本书假定读者具有一定的Python编程经验。当然,具备其他编程语言开发经验的读者也可以阅读本书,并理解书中涉及的概念和原理。上面五本精选教材够不够?不够的话,下面这几十本Python学习材料也一起拿走吧!这可都是本站多年来收集起压箱底的存货……


推荐几本高质量的Python书籍

1、《像计算机科学家一样思考Python》
本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程,这是一本实用的学习指南,适合没有Python编程经验的程序员阅读,本书的第2版与第1版相比,做了很多更新,将编程语言从Python 2升级成Python 3

2、《Dive Into Python 3》
这本书是Python语言的实践指南,每一章都是由一个真实、完整的代码开始,接着对其进行解释分析,最后在结尾进行总结,内容涵盖了 Python 3 及其与 Python 2 的区别

3、《Python编程快速上手》
本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。

4、《流畅的Python》
2017年最佳Python进阶书籍,本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。

5、《Python Cookbook 中文版》
本书覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。书中包含了大量实用的编程技巧和示例代码,非常适合具有一定编程基础的Python程序员阅读

6、《Python编程:从入门到实践》
本书是一本针对所有层次的Python 读者而作的Python 入门书,理论与实践相结合,前面部分是基础知识,后面有实战项目帮助你更好的运用这些知识。

7、《Python自然语言处理》

本书提供了非常易学的自然语言处理入门介绍,该领域涵盖从文本和电子邮件预测过滤,到自动总结和翻译等多种语言处理技术。本书针对Python 3和NLTK 3进行了更新,而且书中准备了充足的示例和练习,可以帮助你:

8、《Python游戏编程快速上手》
这本书通过编写一个个小巧、有趣的游戏来教授Python编程,并且采用直接展示游戏的源代码并通过实例来解释编程的原理的方式。

希望这些对想入坑的伙伴们有所帮助,让我们一起共同学习,共同成长。工具以及PDF,打包整理放到学习圈,欢迎各位小伙伴前来学习,晚上抽空给大家讲解技术,以及趣味的实战!

入门Python到精通,这一篇文章就够了【精心整理】相关推荐

  1. Mybatis的入门到精通这一篇文章就够了

    Mybatis的产生 idea 的配置 idea当中配置好maven工具 1Idea当中配置自动编译 Mybatis是什么? Mybatis的执行原理图 Mybatis的入门Demo 对象的详解 Re ...

  2. scrapy框架_入门Scrapy框架看这一篇文章就够了

    前言 Scrapy是一个非常优秀的框架,操作简单,拓展方便,是比较流行的爬虫解决方案. Scrapy是一个用Python写的Crawer Framework,简单轻巧而且非常方便.Scrapy使用Tw ...

  3. 【Qt5】入门Qt开发教程,一篇文章就够了(Creator、混合开发、多窗体、资源文件、打包发布、exe图标)

    时间是人类生活的空间,我们在时域上展开生活,构建自己的世界 零|说明 本文面向初学者介绍Qt5开发,不求全面 但求过程完整 每个步骤只说明[一种]操作方式 代码和操作并重 在给出代码的同时介绍开发环境 ...

  4. MySQL优化-一篇文章就够了(转发加收藏吧)

    关注我,一个仍存梦想的屌丝程序员,每天为你分享高质量编程博客. 回复 "代金券"  免费获取腾讯云和阿里云代金券 前言 说起MySQL的查询优化,相信大家收藏了一堆:不能使用SEL ...

  5. 全面认识MOS管,一篇文章就够了

    基础知识中 MOS 部分迟迟未整理,实际分享的电路中大部分常用电路都用到了MOS管, 今天势必要来一篇文章,彻底掌握mos管! ...更新:为什么常在MOS管GS并联电阻? ...更新:为什么要在MO ...

  6. 五年程序员是如何玩转闲鱼无货源的,只看这一篇文章就够了

    今天的内容方向主要是基础篇-进阶篇 ,优化了一下操作方法,尽量细化,让你看完这篇内容之后从入门到大神. 基础篇: 注册这些基础的之前说过,这次就不说了,这次说下如何养号. 完善个人资料(头像.昵称.简 ...

  7. Android:学习AIDL,这一篇文章就够了(下)

    前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议 ...

  8. 架构师必须搞懂DNS,一篇文章就够了。

    转载自 架构师必须搞懂DNS,一篇文章就够了. 概念 DNS,全称Domain Name System,即域名系统,搞清楚,它不是DNF地下城与勇士. DNS是怎么来的,我们知道要访问一个服务器的资源 ...

  9. 集成Android免费语音合成功能(在线、离线、离在线融合),有这一篇文章就够了(离线)

    原址 集成Android免费语音合成功能(在线.离线.离在线融合),有这一篇文章就够了(在线) 集成Android免费语音合成功能(在线.离线.离在线融合),有这一篇文章就够了(离在线融合)     ...

  10. 全面认识二极管,一篇文章就够了

    电子设计基础元器件 二极管,小小二极管,大大用途. ... 矜辰所致 目录 前言 一.二极管基础知识 1.1 什么是二极管 1.2 二极管的组成 1.3 二极管的原理 二.二极管特性 2.1 伏安特性 ...

最新文章

  1. 单目图像深度估计 - 泛化篇:S2R-DepthNet
  2. WindowsPE 第五章 导出表
  3. android 等待圈_Android ProgressDialog 转圈圈-阿里云开发者社区
  4. Java调用动态库 缺点_java调用动态库(dll)的一些问题
  5. SIGIR'21「微软」:强化学习过滤负样本噪声提升点击率
  6. 使用谷歌浏览器全文搜索资源文件中的关键词
  7. iOS之StatusBar详解
  8. 一些免费收费api收藏
  9. ios transporter 缓存_鸿蒙和安卓都是开源,为什么iOS系统却可以获得出色的口碑?...
  10. hihocoder 1043 完全背包
  11. vb怎么调用oracle数据库连接,VB 连接Oracle数据库
  12. reactos回顾总结(一)reactos源码编译
  13. 休息时间!哪些业余活动能提升开发人员的技能?
  14. elementUI 让Notification组件弹出到最上层
  15. 暑假带娃出游该怎么玩?明星妈妈安娜分享夏日出游新启发
  16. Web前端大作业—里约热内卢奥运会(html+css+javascript)
  17. 云锁 php一句话,关于php一句话免杀的分析转载
  18. CentOS7.8下Cadence IC设计环境搭建( IC617+MMSIM151+Calibre2015)
  19. linux shell 删除key \xAC\xED\x00\x05t\x00\x04${key} 序列化16进制
  20. 搬家准备哪些东西搬家怎么打包?搬家攻略赶紧收藏!

热门文章

  1. solidwork导出Ascii格式的STL文件
  2. android圆球触摸怎么实现,Android利用ViewPager实现带小圆球的图片滑动
  3. BERT gated multi-window attention network for relation extraction 用于关系抽取的BERT门控多窗口注意力网络
  4. codemirror 简单使用
  5. 朴素贝叶斯算法原理讲解
  6. 计算机显示器代表品牌和价格,电脑显示器什么品牌好价位是多少
  7. actionBar适配魅族smartBar
  8. 做了一个 仿qq的APP
  9. PMP之考试技巧总结
  10. 白苹果修复_ReiBoot Pro for Mac(iOS系统修复软件)