每个人都喜欢Python。如果您打算开始从事数据科学事业,我们可以肯定Python在您心中已经占有特殊的位置。它直观且易于在任何平台上运行,并且具有大量令人惊叹的库和工具。与其他编程语言相比,Python在深度学习算法方面也提供了强大的支持。此外,它拥有庞大的数据科学家和开发人员社区,可以不断改进语言。实际上,关于Python编程,还有更多的话要说–应用程序,工作前景,IDE,库,框架,从何处开始,如何开始……,我们专门针对它进行全面介绍。
因此,欢迎阅读学习大数据分析python编程指南!
我们将文章分为两部分。第一个面向那些不了解Python是什么,或者想知道是否开始学习Python的人。第二部分包含了一旦决定开始学习Python便可以应用的信息和实用技巧。
要浏览指南,您可以使用下面的目录。您可以决定跳到您感兴趣的部分,或者一遍又一遍地阅读整篇文章。无论哪种方式,您都将获得一些宝贵的见解。
我们希望该Python指南对您有所帮助,并且对每个人都有好处。请享用!
内容
Python概述
a.什么是Python
b.Python的应用是什么
c.为什么要学习Python
d.Python与其他语言
e.Python难学吗
f.工作前景
Python入门
a.要学习哪个Python版本
b.如何安装Python
c.哪些是最适合Python开发的IDE
d.顶级的Python库和框架
e.从哪儿开始
f.实践使完美
一、Python概述
在本节中,我们将介绍Python的起源及其用途。我们还将为您提供为什么它是学习的最佳编程语言之一的主要原因。
1.1什么是Python?
Python是一种开放源代码,跨平台的通用编程语言。就编程语言而言,它既不是新的,也不是太老。它的开发始于80年代后期,并于1991年首次向公众发布。Python语言创建者Guido van Rossum对此有明确的愿景:使其像普通英语一样易于理解。回想起来,这可能有点过于乐观。尽管如此,语言的目的是强调可读性和有效空白的使用。换句话说,它努力与人类语言尽可能接近。现在,Python这个名字呢?
您可能会像许多人一样认为,该名称起源于受到饮食挑战的蛇。你会错的。事实证明,Rossum(Python的创造者)是英国喜剧的忠实拥护者……并在实现Python的同时从Monty Python的Flying Circus中读取脚本。因此,这个名字是对伟大的英国喜剧制作者的致敬。
现在,如果这还不足以激发您对Python及其创建者的兴趣,那么下一节将回答一个重要问题:Python的应用程序是什么?
1.2Python的应用是什么?
在过去的几年中,Python越来越流行,现在已广泛用于各种应用程序中。它甚至经常被称为“学习的最佳编程语言”。Python用于开发YouTube之类的视频播放器,Instagram之类的强大应用,在Intel处测试微芯片,在Google处运行搜索引擎,甚至在纽约证券交易所(NYSE)进行交易。您知道编程语言在维护证券交易所系统时非常强大。实际上,NASA在对设备和太空机器进行编程时也使用Python。好吧,那不是吗?让我们进一步审查其中一些应用程序。
数据科学用Python
最近,Python在各个行业的普及率迅速上升,这主要是由于其数据科学库。
在商业和学术界,Python都发现了广泛的数据分析应用程序。它是大多数数据科学界的首选语言。为什么?由于使用了各种工具,因此可以轻松使用庞大的数据集并获得重要的见解。
Python库(例如NumPy和Pandas)广泛用于数据集的收集,处理和清理,以及在应用数学算法以使用户受益时。使Python成为数据科学家的绝佳工具的另一个方面是Matplotlib和Seaborn附带的强大可视化工具。
适用于机器学习的Python
如果您以前从未听说过机器学习(ML),请快速入门。ML是指计算机能够从训练数据中“学习”(将模型拟合到输入中)以做出预测(例如,基于客户过去的数据来购买该产品的可能性如何)的能力购买)。它被“智能”算法(使用大型数据集)和许多公司广泛采用。
确实,公司有很多使用Python的充分理由。
它的库(例如Scikit-learn,TensorFlow和NLTK)被广泛用于预测趋势,例如客户满意度,股票的预计价值等。说到库,TensorFlow的故事尤其有趣。Google开发了它供内部使用,但他们在2015年将其发布为开放源代码库。但是我们将在2.4节中重新讨论它,在此我们将详细介绍Python库。
鉴于当今机器学习和人工智能的重要性日益增长,Python的这一方面肯定会进一步提高。
用于Web开发的Python
HTTP编程(或者,我们通常称之为Web开发)不再只是使用JavaScript完成。实际上,Python在其中也扮演着重要的角色。因此,在本节中,我们将向您介绍一个称为Django的主要Python框架。此外,我们还会看到一些使用Django为其Web服务的主要公司。
Django是一个完整的Web框架。现在,这到底是什么意思?全栈框架为您提供构建完整的Web应用程序所需的一切。其中包括网络服务,数据库管理,甚至HTML生成。因此,Django是《卫报》,《纽约时报》,Instagram和Pinterest等网站和服务的基础也就不足为奇了。看起来,如果您要构建大型而复杂的Web应用程序,那么Django是必经之路。
但是,如果您想创建简单的Web应用程序怎么办?
让我们潜入另一个使用Python创建网站内容的选项– Flask。Flask是一个微型轻量级的Web框架。这意味着它更加直观且易于使用。如果要完成更复杂的任务,则可能需要第三方框架。但请考虑一下:在2018年,Flask超过Django 2%,其中47%的用户选择Flask,45%的用户选择Django。这表明Web开发行业已经朝着较小的框架,微服务和“无服务器”平台发展。这可能是您考虑加入这一工作的最佳时机。
用于游戏开发的Python
我们不会加糖,这是Python缺乏竞争的地方。尽管它具有用于游戏开发的库,例如PyGame和PyOpenGL,但它们经常证明不足以提供足够的功能。尽管它通常对创建2D游戏很有好处,但游戏开发人员认为它比C#和C ++等编译语言要慢。此外,它可能不是图形选择的最佳选择,并且它不提供丰富的开发工具或编辑器。加上Python是高级解释语言的事实,使得它对游戏开发人员而言并不是那么吸引人。
尽管如此,由于在其中编写代码的速度很快,Python在原型设计方面非常有帮助。本质上,在决定是否在开发游戏上投入时间和资源时,构建原型很有用–概念验证。这就是Python发挥作用的地方,因为它能够比其他语言更快地生成简单的2D工作原型。
此外,Python在在线游戏社区中扮演着重要角色。在其帮助下开发的游戏的显着示例包括Civilization IV(使用Python进行逻辑和服务器控件),Eve Online(使用Stackless Python)和《坦克世界》(使用Python进行内部逻辑和脚本编写)。最后,Snakeworlds – 3D蛇游戏,将著名的经典游戏放到球体/地球仪上。它完全用Python-Ogre编写。
1.3为什么要学习Python?
好的,这就是我们真正要涉足的地方。我们将开始回顾Python的许多核心方面,讨论优点和缺点,并将其与其他编程语言进行比较。如果您渴望对Python功能有一些深入的了解,那么您来对地方了。
在开始之前,我们首先来看一个重要的但经常被误解的区别:编码不是编程。大多数人可以互换使用这些术语,坦率地说,这样做很方便。但是,解释它们背后的概念可以帮助初学者对编程产生更有益的态度。
因此,简单地说,编码和编程之间的区别与为小说提出故事并将其写在书中的区别相同。让我们详细说明。如果您想写小说,问自己如何用英语写小说不是第一步。您的重点应该放在创建具有所有要素的故事上。只有这样,您才能以所需的任何语言将其整齐地写出来。
同样的原理也适用于编程-这是一个分为两个阶段的过程。
首先,您面临一个问题(假设您必须找到城市之间的最短路径)。
然后,您必须想出一些步骤,才能在这些城市的每个初始图形配置中为您提供正确的答案(我们将此称为算法)。这是编程中最重要的阶段,并且(主要)独立于所使用的语言。但是一旦遇到问题,您就可以开始通过编程语言将指令传达给计算机。那就是编码阶段。仅仅学习一种特定语言的代码还不足以成为一名优秀的程序员。第一次学习编程时,您应该专注于解决问题的技术,而不是语言本身。
话虽如此,不同的语言肯定会加速或减慢学习过程。我们认为Python是适合初学者进行编程的最佳语言之一。让我们看看原因:
Python是一种开源语言,这意味着它是免费使用的,每个人都可以为其代码和库的编写和维护做出贡献。确实,很多人,甚至公司,都花了很多时间和精力来扩展和完善Python。这是使该语言对社区如此吸引人的重要原因。
此外,Python是一种高级通用语言。高级意味着它远离0和1,因此更接近人类语言。因此,您不必担心内存管理和删除对象(以及其他问题)。这样,您就可以完全专注于解决编程问题。这使Python成为从未学习过编程的人们的理想之选,因为它可以极大地改善他们的学习经验。
最后,通用性表明Python非常通用。如上所述,我们可以将其用于Web和软件开发以及网络编程。最重要的是,尤其是数据科学和机器学习在其日益找到应用的领域。因此,Facebook,Quora,Twitter,Spotify和Netflix等主要公司大量使用Python不足为奇。现在,尽管这些网站和平台不是用 Python 编写的,但许多支持过程,尤其是与分析有关的过程,都是用它来执行的。
总体而言,Python在开发人员中的稳步增长。它确实受到了社区的欢迎,无论是前端还是后端用户。凭借其广泛的功能,使用它的不仅是主要的公司。整个行业中,IT行业正在整合Python来开发各种产品。
Python的优缺点是什么?
那么,使这种编程语言如此吸引人的关键方面是什么?
优点:
a.易于学习 -关键字少,结构简单,语法清晰。这使学生可以快速掌握语言。
b.易于阅读 –由于广泛使用空格,因此可以更清晰地定义Python代码。
c.生产力 – Python代码可以更快地编写。
d.交互模式 –支持允许交互测试和调试代码段的交互模式。
e.广泛的标准库 – Python以“包含电池”语言而闻名。有300多个标准库模块,其中包含用于各种编程任务的类。
f.跨平台 – Python在Windows,Linux,Mac OSX等不同的OS平台上同样能很好地工作。因此,它的应用程序可以轻松地跨OS平台移植。
g.可扩展 –您可以将低级模块添加到Python解释器。这些模块使程序员能够添加或自定义其工具,从而提高效率。
h.可嵌入-Python也可嵌入。您可以将代码放入其他语言的源代码中,例如C ++。
i.支持库的广泛集合 –有许多用于Python的库,这些库为语言增加了很多功能。
缺点:
a.速度限制 – Python被解释,导致代码执行缓慢。但是,这不是问题,除非速度是项目的重点。换句话说,除非需要高速,否则Python提供的好处足以超过其局限性。
b.移动技术薄弱 -尽管它已经出现在许多台式机和服务器平台上,但它被认为是移动计算的一种较弱的语言。这就是为什么很少的移动应用程序使用它的原因。
c.难以使用其他语言 -Python支持者已经非常习惯于其功能和丰富的库,以至于在学习或使用其他编程语言时会遇到问题。通常,Python专家可能会看到变量类型的声明以及添加花括号或分号作为一项繁重的任务的语法要求。
静态和动态打字
在解释Python的特性时,我们不能忘记提到它是一种动态类型的语言。简而言之,Python中的变量没有预定义的类型(例如整数或字符串)。而是在程序运行时动态确定变量的类型。例如,如果在某一时刻我们将值10分配给变量A,Python会自动确定此变量的类型为int(整数)。如果稍后将其更新为10.0,则它将为浮点数(实数)。
相反,在像C ++这样的静态类型语言中,变量的类型写在代码本身中。因此,如果要使用A作为整数,请输入“ int A”。现在,我们只能为A分配整数值。如果尝试为A分配非整数值,程序将返回错误。
当然,这两个概念都有其优点和缺点。对于初学者来说,动态类型化的语言更容易掌握。但是,由于没有人知道运行时之前的变量类型,因此可能会遇到难以跟踪的意外错误。
但是,让我们避开这些有点抽象的比较,看看Python如何针对其他流行的编程语言进行度量。
1.4Python与其他语言
在本节中,我们将Python与其他编程语言进行比较:R,C ++和Java。阅读后,您将可以决定哪种编程语言最适合您的实际需求。
Python vs R
Python是一种脚本语言。从某种意义上说,它非常强大,只需执行几行代码就可以执行各种动作。您可以读取,分析,可视化甚至预测巨大的数据集,所有这些仅需要几行代码。
碰巧的是,R也是一种脚本语言。那么两者如何比较?尽管两者都有优点和缺点,但是在最近几年中,Python一直是程序员使用的主要语言。原因是什么?好吧,有几个。
首先,尽管两种语言都是免费和开源的,但我们使用R主要是用于统计分析(实际上是由统计学家开发的)。相比之下,Python是一种通用语言(这是该语言的重要功能,并且需要重复)。
通用意味着它适合所有类型的需求;不仅是数据科学和机器学习,还包括预处理,Web编程以及几乎所有您能想到的东西。
Python的另一个优点是它是高级的。松散地解释了它的语法,它很容易接近逻辑人类语言,后来又翻译成低级语言(例如C)或什至0和1。例如,NumPy包实际上是通过编程语言C进行的。这解释了为什么它这么快。
让我们谈谈关于R的最后一件小事。R中的图形并不是最好的。但这是轻描淡写。很多。实际上,图形是如此糟糕,以至于R推出了专门针对该问题设计的R Shiny。我们喜欢Shiny,非常漂亮。就是说,尽管在某些情况下也可能缺少Python中的图形,但最近在这方面进行了改进。在matplotlib顶部使用的Seaborn,绝对使图形看起来比以前更好。
Python与Java和C ++
现在,我们强调了Python是一种脚本语言这一事实。尽管这是事实,但它并不能为我们提供全面的信息。
尽管许多人主要使用Python运行脚本,但它也具有面向对象的功能,例如C ++和Java。就是说,我们发现使用Python学习编程比使用其他两个编程要容易得多。
为什么,我听到经验丰富的C ++程序员在屏幕后面大喊?我们知道您是通过艰苦的方式学习编程的,并且对此感到非常满意,因为一切都以超快的速度运行,并且不再有那么多的内存泄漏。而且,只要您确切知道自己在做什么,代码就可以运行,对吗?(是的,本文的作者也喜欢C ++。)
好吧,让我们扮演魔鬼的拥护者,并认为可能有一种更轻松,更直观的方法来学习编程基础。
首先考虑:Java。许多程序员的第一语言。
Java具有对象和类,这是初学者很难理解的概念。从个人经验来看,这可能涉及您父亲漫长的夏天大喊:“类和对象之间有什么区别?!”,然后您试图找出正确的答案。记录下来,答案是–对象是类的实例。这使事情更清楚了吗?是的,这就是我们的想法。理解这些概念需要花费一些时间。如果您是初学者,则用Java编写和运行代码可能会花费更长的时间。简而言之,这就是Java(确实是一个很小的概括,但是您知道了)。
C ++是“真正的”程序员语言呢?
它的座右铭是“您得到所要付出的代价”(但也许不要在那句话上引用我们)。在C ++中,您负责处理内存,即对象的创建和删除。此外,访问内存中那些对象的方式是通过指针,指针可以具有自己的指针,而指针又可以具有自己的指针……您可以得到point(er)。C ++也不太适合初学者。
让我们将它们与Python编程进行比较。但是,就像非常简单的编程一样。(想象)您是一个完全的新手,想编写您的第一个程序。对于每个程序员,无论使用哪种语言,都意味着编写您的第一个“ Hello,World”。
因此,这就是代码在Java中的外观:
这是在C ++中:
现在,让我们看一下Python:
设置环境并打开脚本文件后,使用Python编写“ hello world”只需要一个简单的print()函数和您的文本。在Python 2中,您甚至不需要括号!确实没有比这更简单的了。这是我们一开始所讨论的可读性因素。这也是为什么我们比其他编程语言更喜欢Python的原因。顺便说一句,如果您发现此分析有用,请考虑与其他编码人员朋友共享本文。Python社区很棒是它很棒的原因之一,所以让我们帮助它变得更大。
1.5Python难学吗?
简短的答案:这取决于。但这不是您想要的答案,对吗?不用担心,在开始学习Python之前,我们将解释您需要了解的所有内容。从...开始…
学习Python多长时间?
对于一个完整的新手来说,学习如何很好地使用Python进行编程大约需要3个月的相对一致的学习(基于我们自己的估计)。
但是,如果您打算将Python用于数据科学(即数据分析或机器学习),则时间轴实际上会更短。由于数据科学需要非常特定的语言使用方法,因此需要花一个月到两个月的时间才能理解基础知识。完全披露信息是基于我们的学生完成我们自己的数据科学培训的速度。在365数据科学计划大约需要200个小时才能完成。除其他主题外,它还包括数学,统计学和Python的基础知识。它还介绍了更高级的主题,例如使用sklearn,numpy和pandas进行机器学习,并使用用于神经网络的TensorFlow(版本1和2)库涵盖了深度学习。因此,如果您真正致力于并每天花五个小时学习,那么大约需要一个月的时间来学习Python数据科学分析的主要原理。
也就是说,您精通Python或任何编程语言所花费的时间取决于……嗯,您。
不同的人以不同的速度学习。您学习Python的能力还取决于您的编程背景。如果您已经精通某种编程语言,那么熟悉Python可能会涉及到习惯于不同的库。
但是,如果您从未编程过该怎么办?好吧,这实际上可能是一个优势。我们认为,使用Python这样的语言来学习编程的基础要容易得多。
1.6工作展望
Python的工作前景如何?
要说Python的工作前景是积极的,则轻描淡写。随着它的受欢迎程度不断提高,对Python作为雇主首选技能的需求猛增。
实际上,电气和电子工程师协会(IEEE-世界上最大的技术进步专业技术组织)认为Python是2019年的“大卡胡纳语”,在其年度互动十大编程中排名第一。语言。
但是Python不仅是粉丝的最爱-这是CEO想要的。
根据StackOverFlow开发人员调查(全球90,000名开发人员参与),它是2019年增长最快的主要编程语言。Python(41.7%)在整体排名中甚至领先Java(41.1%),并且仍然是最受欢迎的语言开发者(25.7%)连续第三年!调查还显示,与使用C,C ++和Java等语言的开发人员($ 50,000-$ 60,000)相比,使用Python的开发人员的薪水更高($ 60,000- $ 70,000)。
这如何转化为Python的工作机会?
让我们深入研究数字。
Python工作需求量很大吗?
绝对。Python是全球薪水最高的语言,薪水中位数为63,000美元。通用语言已在数据科学工作中广泛使用。该报告基于美国最大的工作网站–Indeed.com的数据。他们将强调某些软件熟练程度的职位发布数量进行了统计,发现Python排名第二的是27,374个职位,紧随其后的是SQL的25,877个职位。根据记录,Java和C分别位于17,000和13,000的工作列表中。同比增长呢?从2017年到现在(2019年),Python再一次成为无可争议的冠军,增长了97%。
从中国的前景来看,那里的就业市场也相当健康。
据ITJobsWatch摘要统计报告,过去6个月中,已有16,004个永久工作被Python引用,年薪中位数为61,242英镑。与2017年同期相比,涨幅为11.16%。
但是雇主怎么说呢?Python是使用高级分析进行业务和产品开发的组织中排名第一的编程语言。调查的回应来自500家公司的中层管理人员,高级管理人员和执行层管理人员。
因此,就雇主在寻找什么而言,Python似乎已接近统治地位。就是说,现在该是我们调查那里最令人垂涎的Python工作角色的时候了。
您可以采用Python的哪些职业道路?
精通Python是技术和数据科学职业领域不可或缺的技能之一。这是Python专家可以遵循的一些最有利可图的职业道路。
Python开发人员
对于精通Python的人来说,最明显的选择。Python开发人员将其用于各种任务,从构建网站和优化数据算法到查找数据分析解决方案以及执行安全性和数据保护。更不用说这种编程语言非常适合编写可测试,可重用和令人难以置信的高效代码。
机器学习工程师
Python的专业知识是机器学习工程师的关键要求之一。机器学习涉及连续的数据处理,Python强大的库生态系统无疑是应对挑战的基础。难怪机器学习工程师会首选Python库来访问和转换数据,以及处理诸如聚类,回归和分类之类的基本ML算法。
数据科学家
Python是动手进行统计建模的首选语言。大约68%的数据科学家表示这是他们最喜欢的编程语言(去年为44%)。而且,如果您到目前为止一直在关注,那么在机器学习方面,Python也是必不可少的。
数据分析师
Python是处理大量数据,清理它并处理它以进行分析的最好的语言之一,而这正是数据分析师所做的很多事情。与其他更复杂的工具相比,Python可以帮助他们更快地完成所有工作。数据分析师还使用Python及其软件包将其数据分析任务与Web应用程序集成在一起,或将统计代码合并到生产数据库中。
BI分析师
对于BI分析师而言,Python 不是绝对必须的。但是,在商业智能领域,它变得越来越受欢迎。BI分析师是核心的多任务处理者。这样,他们可以将Python用于各种商业智能任务。他们可以通过将其导入数据库程序,对其进行清理和标准化来使用它来准备数据。此外,BI分析师可以通过从查询创建Pandas DataFrame,制作数据质量报告,生成摘要统计信息以及创建图表来探索数据。最后,Python可以协助BI分析师进行数据分析和分析,因此他们可以可视化并报告其见解,以制定明智的业务决策。
数据工程师
Python的丰富库可帮助数据工程师访问数据库和存储技术。此外,数据工程师使用它来编码ETL框架以及API交互和自动化。总体而言,Python是功能强大且用途广泛的工具,可让数据工程师快速,高效地解决问题。
数据架构师
数据架构师开发高级Python脚本,以分析,清理和转换大型数据集,并准备将其用于商业智能,分析和财务建模功能。
作者的注释:Python对于获得数据科学工作至关重要。但是,这只是您想要在现场获得的技能之一。
使用Python的热门行业是哪些?
根据ActiveState的十大用例,以下是使用Python 的十大行业:
a.保险;
b.零售银行;
c.航天;
d.金融;
e.商业服务;
f.硬件;
g.卫生保健;
h.咨询服务;
i.信息技术
j.软件。
二、Python入门
如果您已经决定开始学习Python但不知道从哪里开始,那么这里就是您的理想选择。入门可能很困难。您应该下载Python 2.7,还是要下载Python 3.6?因此,在本节中,我们汇总了大量信息和实用技巧,可帮助您找到自己的出路。我们将概述Python 2和Python 3之间的区别,并指导您完成安装过程。然后,我们将回顾最佳的Python库和IDE及其用例。此外,在这里您将发现开始学习Python的可行步骤,以及可以使用的良好免费资源列表。最后,我们将向您展示如何从经验丰富的Python用户那里寻求帮助。但首先要注意的是:
2.1要学习哪个Python版本?
如果您尝试下载Python,您可能会对两个同样重要的版本2.7和3.7(在撰写本文时)感到惊讶。因此,现在您可能想知道:我应该学习Python 2还是学习Python 3?
过去,编码社区一直在争论哪个版本是最好的学习版本。但这已经发生了变化,现在变得或多或少了:Python 3无疑是赢家。我们将探讨原因,但首先让我们看一下这些版本的历史。
Python 2.0于2000年首次发布,其最终的主要版本Python 2.7于2010年问世。
但是,这还没有结束,因为直到今天仍可得到持续的支持。但是,开发人员很早就意识到他们需要进行重大更改以改进语言。因此,在2008年12月,Python发布了3.0版。这个版本主要是为了解决Python 2中存在的问题而开发的。但是这些更改的性质使得Python 3最终与Python 2不兼容!因此,对于使用Python 2.x版本的任何组织,将其项目迁移到3.x都需要大量的调整和工作。因此,许多公司决定继续使用版本2并为其开发更多库。因此,继续支持Python 2。
但是万事必须最终结束。
因此,开发人员宣布2020年1月1日将是Python 2淘汰的日子。在此日期之后,将不再对此版本进行更新和支持,并且使用此版本的每个人都必须尽快切换到Python 3。这不是操练- 时钟确实在滴答作响。
因此,Python 3是未来的明确方向,也是每个初学者都应该选择的版本。但是,如果您的公司有用Python 2编写的项目,或者也许您必须使用仅受Python 2支持的第三方库,则可能需要了解两个版本之间的区别。这里有一些人(也有从很多地方,从来到),让你开始:
2.2如何安装Python?
Python可与Windows,Linux,Mac OS和某些其他平台(例如IBM AS / 400,iOS,Solaris等)一起使用。并且有多种方法可以在计算机上安装它。
开箱即用地向Python添加功能的一种简单方法是通过Anaconda发行版,这对(数据)科学家而言尤其重要。它包括库存的Python以及对科学家和机器学习至关重要的库,例如NumPy,SciPy,Pandas(请参阅第2.4节)。不仅如此,它还配备了两个IDE(请参阅下一节2.3)– Spyder和Jupyter Notebook。另外,它非常容易安装-只需选择您的操作系统,然后点击下载即可。然后,剩下要做的就是完成基于向导的设置,您就可以开始了。
你可以,当然,选择Python的软件在python.org/downloads标准分布在这里。只是不要忘记在设置中选中“将Python 3.x添加到PATH”复选框。
2.3。哪些是最适合Python开发的IDE?
到目前为止,一切都很好。您已经安装了Python,但是现在您需要在某个地方编写代码并运行它。这就是IDE的用武之地。
首先,让我们弄清楚IDE的含义。IDE代表集成开发环境。它是一种编码工具,可让您以更轻松的方式编写,测试和调试代码,因为它们通常通过突出显示,资源管理,调试工具等提供代码完成或代码洞察力。
那么,什么是最好的Python IDE?好吧,这取决于您的喜好以及使用这种编程语言的原因。考虑到这一点,在这里我们将介绍一些最受欢迎的(截至撰写本文时),以便您可以做出明智的决定。
适用于科学和数据分析的Python IDE
斯派德
Spyder是一种轻量级的开源IDE,专门为科学和数据分析使用而设计和构建。如果您从未使用过IDE,那么它可能是一个完美的第一站,因为学习过程很顺利。
Spyder包括在Anaconda发行版中,以及数据科学和机器学习必不可少的库-NumPy,SciPy,Pandas,scikit-learn,Matplotlib等。而且,就安装而言,通过Anaconda进行安装是更可取的方法。
Spyder包含您可能期望的大多数常见IDE功能,例如具有健壮的语法突出显示功能的代码编辑器,代码完成功能,甚至是集成的文档浏览器。
此外,它还具有几个非常有用的功能-图形变量浏览器和IPython(交互式Python)控制台。
变量资源管理器包含程序中的所有数据(变量),并在IDE内部使用基于表的布局显示它。这使您可以快速地进行交互和修改,单击直方图和时间序列,对集合进行排序等等。
您可能会发现有趣的另一件事是,IPython控制台允许初学者和数据科学家执行一行代码并可视化数据,从而使他们受益匪浅。对于教育目的和调试而言,这都是很棒的。
从本质上讲,Spyder非常适合初学者和专业人士,但我们意识到,有些退伍军人可能会觉得它太基础了,缺乏某些更高级的功能。
Jupyter笔记本
Jupyter Notebook 于2014 年从IPython诞生,它是一个基于服务器-客户端结构的Web应用程序,它使您可以创建和操作Notebook文档或“笔记本”。
Jupyter为您提供了一种跨多种编程语言的易于使用的交互式数据科学环境,该环境不仅可以用作IDE,还可以用作演示或教育工具。对于刚开始使用数据科学的人来说,它是完美的选择!
Jupyter Notebook支持降价促销,因此允许您在代码行之间添加文本和其他HTML组件,例如图像和视频。感谢Jupyter,您可以轻松地查看和编辑代码,以创建引人入胜的演示文稿。例如,您可以使用Matplotlib和Seaborn等数据可视化库,并在代码所在的同一文档中显示图形。此外,您可以将最终作品导出为PDF和HTML文件,或仅将其导出为.py文件。
通用Python IDE
PyCharm
PyCharm是一个完整的IDE,适用于Web开发,小型和大型项目。它是由JetBrains(一家以创建出色的软件开发工具而闻名的公司)的员工开发的,面向专业开发人员的IDE 。如果您已经使用过JetBrains的另一个IDE,因为它的界面和功能都非常相似,那么它对您来说是完美的。
另外,如果您喜欢IPython或Anaconda发行版,很高兴知道PyCharm集成了他们的工具和库,例如NumPy和Matplotlib。这样一来,您就可以使用数组查看器和交互式绘图。
好了,就安装而言,有两种版本的PyCharm供您考虑:
a.社区 –免费的开源版本,轻量级,适合Python和科学开发;
b.专业版 –付费版本(每年53欧元,两年后),功能齐全的IDE,也支持Web开发。
PyCharm的一个缺点是它可能非常繁重且占用大量资源。因此,对于具有少量RAM(通常小于4GB)的计算机,它可能不是最佳选择,因为它会滞后。
除此之外,PyCharm还提供了优秀的IDE应该提供的所有主要功能。此外,它是完全可定制的,并且具有大量用于附加功能的插件。
Visual Studio代码(VSCode)
VSCode是一个轻量级但功能强大的开源编辑器,可在任何平台(Windows,Mac,Linux)上访问。它具有丰富的内置编程语言支持和扩展生态系统。该编辑器每月更新一次,其中包含新功能和错误修复。这以及为各种用例创建有用插件的活跃社区,使VSCode在Python开发中成为程序员的最爱。
那么,您从扩展中得到什么?
a.使用IntelliSense自动完成;
b.棉绒;
c.代码格式化;
d.脚本调试;
e.单元测试;
f.自动激活并在Python环境之间轻松切换;
j.重构命令。
除了编程语言功能外,VSCode扩展还包括其他方便的功能,例如键盘映射,UI主题和语言包。扩展程序和主题的安装非常容易且易于访问。因此,是的,一旦开始使用Python,您一定应该将此IDE放在您的雷达上。
原子
Atom是由GitHub开发的开源代码编辑器(不是完整的IDE),可用于Python开发。它是高度可定制的,使您有机会根据需要安装软件包并根据需要更改UI。
Atom易于使用且易于学习。它提供了对GitHub的大力支持。除此之外,您还可以在Atom本身中可视化结果,而无需打开任何其他窗口或窗格。此外,您还有一个名为“ Markdown Preview Plus”的插件。它为您提供了编辑和可视化Markdown文件的内置支持,允许您打开预览,渲染LaTeX方程式等等!
荣誉奖
a.Eclipse + PyDev – Eclipse是非常流行的IDE,主要用于Java代码。但是,可以使用插件PyDev为Python配置它。
b.it(Online Compiler) –如果您想开始编写Python代码而不花时间安装Python和设置开发环境,则可以使用repl.it。该站点提供了多种语言的在线IDE,包括在线Python Shell。您只需要互联网连接和浏览器即可上手。
c.Thonny – Thonny是Python IDE系列的最新成员,被称为初学者的IDE。它由爱沙尼亚塔尔图大学计算机科学研究所编写和维护,是专门为教学和学习编程(特别是Python)而设计的。默认情况下,Thonny带有自己的捆绑版本的Python,因此您无需安装其他任何东西。它的用户界面非常简单,因此初学者会发现使用起来很容易。此外,它还具有一个简单的调试器,可让您逐步执行程序,并使您能够查看Python如何在内部评估书面表达式。
总体而言,Thonny的目的是使您充分了解Python的工作原理,而这正是它所提供的。
2.4。哪些顶级Python库和框架?
Python库包含各种工具来帮助我们进行编程。我们可能会遇到一个难以解决的问题,但有可能其他人在我们之前遇到了该问题,并编写了处理该问题的代码。该代码可能在某个库中的某个位置,等待我们使用它。Python有许多不同的库,但是在这里,我们将仅列出我们认为您可能需要使用的库。
Python标准库
这是Python本身附带的库。它非常广泛,提供了各种各样的功能,您可以在文档中查看。该库包含内置模块(用C编写)。它们提供对系统功能的访问,例如文件I / O(否则Python程序员将无法访问)。它还为使用Python编写的模块打开了大门,这些模块为许多常见的编程问题提供了标准化的解决方案。其中一些模块经过明确设计,旨在通过将特定于平台的内容抽象到与平台无关的API中来鼓励和增强Python程序的可移植性。
用于机器学习,科学使用和数据分析的Python库
如前所述,Python被广泛用于数据分析和科学模拟。在某种程度上,它之所以受欢迎,是因为您可以选择各种各样的库。以下是Top Data Science联合创始人兼AI负责人Oguzhan Gencoglu所说的话:“我们主要在Python中进行开发, 而numpy,scipy和pandas 等科学库 至关重要。对于传统的 ML,我们使用 scikit-learn / xgboost / GPy。继续列出, nltk 和 gensim 对于我们的NLP项目至关重要。自然地,对于深度学习,我们在Keras / TensorFlow中进行原型制作如果是工业协作,则 在TensorFlow中进行部署 。我们还将 PyTorch用于研究合作。”
也就是说,这是一些最重要的Python库的列表:
a.NumPy
NumPy是一个非常重要的用于数值计算的库,也是许多其他更高级库的基础。它提供了广泛的N维数组接口和线性代数函数,这些函数比普通的Python列表要快几个数量级,并且存储效率更高。这就是为什么它对于仿真和机器学习至关重要。
NumPy是Anaconda软件包的一部分。
b.科学
Scientific Python(SciPy)库是创建用于执行复杂数学分析的算法的库。它使用NumPy数组作为其基本数据结构(因此很快速),并且可以执行诸如积分,求解常微分方程,信号处理和优化之类的任务。
Anaconda软件包提供了SciPy。
c.Matplotlib
Matplotlib是一个用于创建图表,图形和其他数据可视表示的库。对于任何数据科学家或数据分析仪而言,这都是至关重要的。
Matplotlib也是Anaconda软件包的一部分。
d.TensorFlow
TensorFlow是由Google Brain团队开发的开源机器学习库,并于2015年向公众发布。几乎所有用于机器学习的Google应用程序都使用TensorFlow。TensorFlow的应用程序数量是无限的,这就是它的美。它针对速度进行了优化,非常灵活,可以在CPU和GPU上运行。它还具有出色的可视化工具。TensorFlow是Anaconda软件包的一部分,不包括自动安装-它需要手动安装。这可以通过打开anaconda提示符并键入“ conda install tensorflow”来完成。
e.Scikit学习
Scikit-learn(或简称为sk-learn)是与NumPy和SciPy相关的Python库。它被认为是处理复杂数据的最佳库之一,因为它包含许多用于实现标准机器学习和数据挖掘任务的算法,例如减少维数,分类,回归,聚类和模型选择。
Scikit-learn是Anaconda软件包的一部分。
f.大熊猫
Pandas是一个数据分析库,它提供高级数据结构和各种用于操纵它们的工具。该库的主要功能之一是能够使用一个或两个命令转换具有数据的复杂操作。Pandas具有许多用于分组,合并数据和过滤以及时间序列功能的内置方法。
熊猫是Anaconda软件包的一部分。
g.火炬
PyTorch是另一个开源机器学习库,它使开发人员能够在GPU加速的情况下执行张量计算,创建动态计算图并自动计算梯度。它于2017年推出,自成立以来,该库越来越受欢迎并吸引了越来越多的机器学习开发人员。尽管PyTorch相对来说还很年轻,并且没有TensorFlow惊人的可视化技术,但它与TensorFlow有着直接的竞争。
PyTorch是Anaconda软件包的一部分,但它需要手动安装-打开anaconda提示符并输入“ conda install pytorch -c pytorch”。
h.凯拉斯
Keras提供了一种表达神经网络的简便机制,以及一些用于编译模型,处理数据集,图形可视化等的最佳实用程序。它注重于用户友好,模块化和可扩展性,但却牺牲了速度。
Keras是深度学习研究人员的最爱,排名第二。大型科学组织(尤其是CERN和NASA)的研究人员也采用了此方法。
Keras不是Anaconda软件包的一部分。
Python GUI库
GUI(图形用户界面)库允许程序员创建令人眼花applications乱的应用程序。Python是一种交互式语言,因此开始编写GUI框架并不是一件难事。实际上,Python在该领域有多种选择:
a.Tkinter
Tkinter通常使用Tk与Python捆绑在一起,并且是Python的标准GUI框架。它以其简单性和图形用户界面而受欢迎。它是开源的,可在Python许可下获得。选择Tkinter的优点之一是,由于它是默认设置,因此有大量资源,包括代码和参考书。
b.wxPython
WxPython是跨平台GUI库WxWidgets(以前称为WxWindows)的开源包装,并实现为Python扩展模块。使用WxPython,您作为开发人员可以为Windows,Mac OS和Unix创建本机应用程序。
c.PyQT
PyQT是实现Qt(由诺基亚拥有)应用程序开发框架的Qt库的最受欢迎的跨平台Python绑定之一。目前,PyQT可用于Unix / Linux,Windows,Mac OS X和Sharp Zaurus。它结合了Python和Qt的优点。然后由程序员决定是通过编码还是使用Qt Designer创建可视对话框来创建程序。它既有商业许可,也有GPL许可。尽管某些功能可能在免费版本中不可用,但是如果您的应用程序是开源的,则可以在免费许可证下使用它。
d.PyGUI的
PyGUI是用于Unix,Macintosh和Windows的图形应用程序跨平台框架。与其他一些GUI框架相比,PyGUI到目前为止是所有框架中最简单,最轻便的,因为API完全与Python同步。PyGUI在GUI平台和Python应用程序之间插入的代码要少得多,因此,应用程序的显示通常会显示平台的自然GUI。
用于Web开发的Python框架
考虑到动态Web开发的发展方式,Python框架的普及似乎仅在增加。这种面向对象,功能强大的组成,解释和交互式编程语言非常易于学习。而且,它易于阅读的语法和简单的编译功能有效地缩短了开发时间。
Python为开发人员提供了广泛的工具。下面列出了一些流行的Web框架:
a.Django的
Django是一个免费的开源框架,使开发人员能够有效,快速地开发复杂的代码和应用程序。这个高级框架通过提供各种强大功能来简化Web应用程序开发。它具有各种各样的库,强调了有效性,对编码的需求减少以及组件的可重用性。
b.樱桃皮
CherryPy是一个开放源代码的Python Web开发框架,它植入了自己的多链服务器。它可以继续在任何支持Python的工作框架上运行。CherryPy功能集成了线程池化的Web服务器,设置框架和模块框架。适度的Web框架使您可以利用各种技术进行数据访问,模板化等。然而,它可以完成Web框架可以执行的所有工作,例如,处理会话,静态,文件上传,Cookie等。
c.金字塔
金字塔是支撑验证和指导的框架。对于像CMS这样的大型Web应用程序而言,这是不可思议的,对于原型创意和开发人员放弃API项目而言,这是非常有价值的。金字塔适应性强,可用于容易和困难的项目。金字塔的功能得到增强,而无需驱动特定的完成方法,轻巧而又不会随着应用程序的开发而独自一人。由于它的透明性和可衡量的质量,它是经验丰富的Python开发人员中最有价值的Web框架。中等规模的团队和Mozilla,Yelp,Dropbox和SurveyMonkey等技术巨头都在使用它。
d.烧瓶
Flask是受BSD许可访问的Python框架,该框架受Sinatra Ruby框架的启发。其主要目的是帮助开发强大的Web应用程序基础。开发人员可以根据需要创建任何后端框架,但是该框架是为开放式应用程序设计的。Flask已被包括LinkedIn和Pinterest在内的大公司使用。与Django相比,Flask最适合小型和简单的项目。因此,您可以期待Web服务器的开发,对Google App Engine的支持以及内置的单元测试。
e.瓶子
另一个有趣的Python Web框架是Bottle,它属于小型框架。最初,它是为构建Web API而开发的。而且,Bottle尝试在单个文档中执行所有操作,这应该使您对设计的文档大小有一个简短的了解。开箱即用的功能包括模板,实用程序,定向以及对WSGI标准的一些基本抽象。与Flask一样,与全栈框架相比,您将更接近金属。无论如何,Netflix都使用Bottle来创建Web界面。
2.5。从哪儿开始?
免责声明:在本节中,您将学习关于编程的宝贵课程。
您现在可能知道将来的项目需要哪些库。很好,但是您仍然需要学习如何使用Python进行编码。而且,大概是在本节中,您希望我们为您提供有关开始哪些教程或选择哪些教科书的信息。
很遗憾地通知您,这是您在掌握Python(或就此而言,其他任何编程语言)的过程中第一次感到失望。并不是没有很好的免费教程-那里有很多免费教程,其中有些绝对是很棒的。
不幸的是,无论教程多么出色,它都不可避免地会遗漏一些东西,否则您将得到其中未描述的错误。然后怎样呢?那么,解决方案是使用您可以使用的最重要的工具-Internet进行签入。问题是,在编程过程中,大多数学习过程可能会通过Google进行。程序员必须具备在线查找重要信息的能力。因此,这就是为什么我们现在鼓励您自己查找有关Python的资源。嗯...我听到绝望的声音了吗?
好吧,我们不会完全让您使用自己的设备。您可以采取以下一些可行的步骤来开始使用Python。
如何学习Python?
教科书
书籍是在旅途中获得有关Python编程的详细知识的好方法。但是,那里有哪些最好的Python书籍?当然,市场上有很多Python编程教科书。但是,您还应该考虑以下可供初学者免费使用的电子书:
在线课程
免费在线课程以学习Python
如果您喜欢灵活的学习时间表并选择自己的学习环境,那么当然可以使用在线课程。并且,探索免费的学习选择是一个不错的初始选择。尤其是如果您是一个完整的初学者,但不是100%不确定要准备深入学习Python。因此,您可以从这里开始10 堂免费的在线Python课程。当然,它们不像某些付费课程或完整课程那样全面。但是它们足够好,可以为您提供基本的Python入门。
视频网站
借助Python视频教程,从视频网站上寻找资源,也是一个不错的选择。
综上所述,没有唯一的“学习Python的最佳方法”。实际上,对于不同的技能水平,可以采取许多不同的方向。因此,最好尝试其中的一些(或全部)方法,然后查看对您有用的方法。
学习Python时如何寻求帮助?
随着您开始编写更复杂的代码,遇到一些困难或遇到错误是正常的。有时可能会感到沮丧,但请记住,它通常是学习曲线和编程的一部分。
所以,不用担心。毕竟,网上有一个很棒的社区,当您遇到困难时,您可以要求指导。或者,您可以通过与其他程序员分享您的见解来帮助他们。结论
希望我能告诉您,一旦您阅读了本文,您将在一夜之间精通Python。但现实是,您不会。将会有很多反复试验……然后更多。
我认为,通常作为学习者,我们感到需要证明我们可以超快无误地完成工作,而这几乎完全来自于我们追求完美的内在压力。因此,如果有最后一条建议值得采纳,那就是-继续练习。进行必要的工作,不要因过程中的困难而灰心。或者,引用Patrick McKenzie的话,
您认识的每一个伟大的开发人员都可以通过解决问题来解决问题,直到他们真正解决问题为止。
这就是本文的最终目的。我们希望本概述将成为您学习中值得信赖的伴侣。而且,本着开源编程语言的精神,如果您喜欢它并且发现它很有用,请花一点时间并分享它,以便其他人也可以学习和进步!
填写下面表单即可预约申请免费试听!怕钱不够?可先就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可推荐就业!
©2007-2022/ www.aaa-cg.com.cn 北京漫动者数字科技有限公司 备案号: 京ICP备12034770号 监督电话:010-53672995 邮箱:bjaaa@aaaedu.cc