16级创客教育理论与实践

创客关键词—9—Python

2018-09-12  本文已影响129人  邓彩凤0109

17组:卞小倩、张艳秀、李洪曼、边宇

18组:王倩、邓彩凤、闫荣荣

Python

一、Python简介

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Python是纯粹的自由软件源代码解释器CPython遵循 GPL(GNU General Public License)许可。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

二、Python安装

目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的,因为现在Python正在朝着3.x版本进化,在进化过程中,大量的针对2.x版本的代码要修改后才能运行,所以,目前有许多第三方库还暂时无法在3.x上使用。

python官网  https://www.python.org/  可以免费下载

在Mac上安装Python

如果你正在使用Mac,系统是OS X 10.8或者最新的10.9 Mavericks,恭喜你,系统自带了Python 2.7。如果你的系统版本低于10.8,请自行备份系统并免费升级到最新的10.9,就可以获得Python 2.7。

查看系统版本的办法是点击左上角的苹果图标,选择“关于本机”:

在Linux上安装Python

如果你正在使用Linux,那我可以假定你有Linux系统管理经验,自行安装Python 2.7应该没有问题,否则,请换回Windows系统。

对于大量的目前仍在使用Windows的同学,如果短期内没有打算换Mac,就可以继续阅读以下内容。

在Windows上安装Python

首先,从Python的官方网站python.org下载最新的2.7版本,网速慢的同学请移步国内镜像

然后,运行下载的MSI安装包,在选择安装组件的一步时,勾上所有的组件:

特别要注意选上pip和Add python.exe to Path,然后一路点“Next”即可完成安装。

默认会安装到C:\Python27目录下,然后打开命令提示符窗口,敲入python后,会出现两种情况:

情况一:

看到上面的画面,就说明Python安装成功!

你看到提示符>>>就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()并回车,就可以

退出Python交互式环境(直接关掉命令行窗口也可以!)。

情况二:得到一个错误:

‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。

这是因为Windows会根据一个Path的环境变量设定的路径去查找python.exe,如果没找到,就会报错。如果在安装时漏掉了勾选Add python.exe to Path,那就要手动把python.exe所在的路径C:\Python27添加到Path中。

如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,记得勾上Add python.exe to Path。

三、编程语言特点

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

 

学习Python必要性:    

1.Python所具有的一个显著优势就是开发时间的大大降低使企业的软件创建和维护阶段节约大量资金。    

2.Python清晰可读的语法使得软件代码具有异乎寻常的易读性(虽然某些程序员反对在Python代码中大量使用空格),甚至对那些不是最初接触和开发原始项目的程序员都能具有这样的强烈感觉。   

 3.Python明晰的语法使其成为一种学习曲线平和的编程语言。有经验的程序员甚至可能在一天之内就掌握Python的基础知识,至多不过一周作用就可以上手,而编程语言的专家则肯定会比他掌握C、C++、Java甚至Perl要快很多。   

 4.Python编程语言最大的优点就是有一个交互式的开发环境,毕竟Python是解释运行的,这样可以大大节省了每次编译的时间,Python语法简单,内置有几种高级数据结构,如字典、列表等。    

5.Python编程语言可以用来作为批处理语言,写一些简单工具,处理些数据,作为其他软件的接口调试等。Python语言可以用来作为函数语言,进行人工智能 程序的开发,具有Lisp语言的大部分功能。Python编程语言可以用来作为过程语言,进行我们常见的应用程序开发,可以和VB等语言一样应用。Python编程语言可以用来作为面向对象语言,具有大部分面向对象语言的特征,常作为大型应用软件的原型开发。  6.Python在数据库方面也很优秀,可以和多种数据库进行连接,进行数据处理,从商业型的数据库到开放源码的数据库都提供支持。例如:Oracle,Ms SQL Server等等。有多种接口可以与数据库进行连接,至少包括ODBC。有许多公司采用着Python+MySql的架构。因此,掌握了Python使你 可以充分利用面向对象的特点,在数据库处理方面如虎添翼。    

7.Python编程语言可以广泛的在科学计算领域发挥独特的角色。有许多模块可以帮助你在计算巨型数组、矢量分析、神经网络等方面高效率完成工作。尤其是在教育科研方面,可以发挥出独特的优势。Python可以非常方便的实现GUI编程,通过Tkinter,wxPython,QT等等模块,你就可以根据需要编写出强大的跨平台的用户界面程序。    

8.如果你掌握了Python,想在Java里应用它,你可以采用Jython。Jython是采用Java语言实现的Python。这样,你只 要按照Python的语法,就可以调用Java的各种类库,快速的编写出基于Java的程序。也就是通过Jython,编写Java程序。这样就可以更为 快速的实现Java的功能。Python在面向对象方面和Java是相通的。

与其他语言之间对比:   

 1.与Perl相比,基本特性不同。Perl更适于处理文本和报表,有强大的系统级支持,Python更 适于在面向对象状态下工作,并且代码简洁,可维护性强。  

  2.与Java相比,编程思想不同。Java先由编译器编译成字节码,而Python直接由解释器完成编译,Java的执行速度大于Python。Python简单易用,更适合于在结构化框架中实现快速开发。    

3.与JavaScript相比,设计目标不同。JavaScript不是真正的脚本语言,没有真正的跨平台兼容性和安全性。Python具有更强的扩展性。    

4.与Tcl相比,Python的数据结构处理能力更强,更适合大规模编程。    

5.与Rebol相比,应用对象不同。Rebol重点支持传输和交流信息,与电子邮件、Usenet、Web和FTP服务器直接会话,功能很集中。Python则应用范围更为广泛。   

6.与Visual Basic相比,VB是Microsoft提供的开发环境,并且更适合数据库接口开发,应用领域也具有局限性。Python则支持多种数据库系统,并可以将一个系统的数据翻译并转移到另一个系统,跨平台性更好。    

7.与Awk相比,Awk更适合总结和汇报大量数据,并且易于编写系统快速脚本,正则表达式语法也比Python先进,但缺乏文件管理能力。    

8.与Ruby相比,Python不强制使用面向对象。事实上,Python支持面向过程程序设计、面向对象程序设计和函数型程序设计等多种编程思想。    

9.与SmallTalk和Lisp相比,Python更接近传统的编程语言,让程序员更舒服。    

10.与C和C++相比,Python跨平台性更好。但值得一提的是Python使用C开发。

Python编程语言的10个特点

1、简单,非常简单,便于阅读。阅读一个良好的Python程序,感觉像是在学习英语一样,Python的这种伪代码特性是它的优点之一。

2、易学,尽管Python是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法。

3、开源,Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python希望看到一个更加优秀的人创造并经常改进。

4、可移植性好,由于它的开源本质,Python已经被移植在许多平台上,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台。

5、高层语言,使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。

6、丰富的库。python有可定义的第三方库可以使用,可以处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。只要安装了Python,所有这些功能都是可用的。除了标准库以外,还有许多其他的库,如wxPython、Twisted和Python图像库等。

7、解释性,可以直接从源代码运行。在计算机内部,python解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。

8、可扩展性,如果需要一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写。

9、可嵌入性,可以把Python嵌入到c/c++程序中,从而提供脚本功能。

10、代码编辑规范,Python采用强制缩进的方式使得代码具有极佳的可读性。

四、常用开发环境

1. Pydev + Eclipse –最好的免费python IDE

Pydev的是Python IDE中使用最普遍的,它是免费的,同时还提供很多强大的功能来支持高效的Python编程。Pydev是一个运行在eclipse上的开源插件,它把python带进了eclipse的王国。

2. PyCharm –最好的商业python IDE

有很多大品牌公司用户,像Twitter,Groupon,Spotify,eBay和Telefonica等都在用PyCharm。

3. VIM

VIM是最好的文本编辑器,它提供的功能不亚于此,经过正确的配置后它可以成为一个全功能的Python开发环境。此外VIM还是一个轻量级的、模块化、快速响应的工具,非常适合那些很牛的程序员——编程从不用鼠标的人。

4. Wing IDE

调试功能是Wing IDE的一大亮点,包括多线程调试,线程代码调试,自动子进程调试,断点,单步代码调试,代码数据检查等功能,此外还提供了在树莓派上进行远程调试的功能。

5.Spyder Python

Spyder python的基本功能包括多语言编辑器、交互式控制台、文件查看、variable explorer、文件查找、文件管理等。Spyder IDE也可以运行于windows、Mac或者 Linux系统之上。

6. Komodo IDE

Komodo是Activestate公司开发的一个跨平台的集成开发环境,支持多种语言包括python。

7. PTVS - Best Python IDE for Windows

PTVS(Python Tools for Visual Studio)集成在Visual Studio中,就像Pydev可以集成在eclipse中一样。PTVS将Visual Studio变成了一个强大的、功能丰富的python集成开发环境。 

8. Eric Python

Eric由Detlev Offenbach创建,遵循GPL协议,免费使用。经过多年的开发完善Eric已经成为一个常用的、功能丰富的集成开发环境。它提供了一个可靠的插件管理系统,可以通过插件来扩展功能。

9. Sublime Text 3 / Anaconda Python IDE

Anaconda带给你最强大的功能是代码自动补全和代码检查。当然Anaconda也很注重基础功能如:各种各样的主题,快速响应的用户界面,配置简单,各种强大的功能扩展包。

10. Emacs - Python Editor cum IDE

Emacs有属于它自己的生态系统,它是一个可扩展的并能高度定制的GNU文本编辑器。

学习资源

网易云课堂https://study.163.com/category/400000001323005?utm_source=baidu&utm_medium=cpc&utm_campaign=affiliate&utm_term=IT_014d&utm_content=SEM

笨办法学 Python

这本书绝对是最简单的学习 Python 的方法。你会被如此简单的基础学习感到震惊,你会真实地感受到自己的学习进程,一步步的获取新的知识。我也了解到它非常鼓励 学习者取尝试并创造自己的程序。

程序可能会很小,但是它们肯定会有助于你更好的理解语言本身和它的语法。Python 非常流行,所以当你遇到了问题是,很有可能在像 StackExchange 这样的网站已经 一些答案了,当你遇到问题需要解决时尽管去谷歌。

你将会会学到:

在所有的平台上安装 Python 编程环境

写 Python 程序

理解 Python 语法和文档

像一个程序员一样思考

还有更多的东西

本书的 HTML 在线版是完全免费的,大部分人都是使用的在线版。我愿意鼓励你捐赠/购买完整的书,毕竟作者花了很大的力气来完成它。如果你发现使用视频学习更容易的话,它的高级版就含有视频。

Online Python Tutor:Python 初学者的好帮手

Online Python Tutor

是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。

The Python Challenge

如果你在编程生涯中从没做过这样的挑战的话,这可能会有点棘手。但是配和上面介绍的那本书的话也不是很难。你应该试一试。它有 33 个关卡(谜题),可以用你 Python 编程技能解决。

几百万的人都在尝试解决这个,即使你不能完成所有的关卡,你也会将学到很多 新的东西,尤其是批判性思维和发散思维。你的大脑会过热,但这是编程!

Learn Python Programming @ Codecademy

你将会看到许多”精英”程序员骂这个网站,但那并不重要。我们想要做的是看/测试 一门编程语言的基本语法是怎么工作的,以及当和函数组合时可以做什么。而不是 打印一个 ‘Hello World’ .

在这个 Codecademy 的课程中你将会学到如何用文件,如何使用循环。什么是函数以及他们能用来做什么。这些都是很基础的,但是对初学者很 有好的东西。当需要帮助时有一个交流的论坛,但通常所有东西都能被理解.

你不需要安装任何工具,如果你想在你自己的电脑上重写一遍代码以便更好地理解它,你可能需要的唯一东西就是一个 Notepad++ 编辑器。我就是这样做的,并且我 向所有想学习编程的人推荐 Codecademy,不管是 Python 还是其他的语言.

Intro to Computer Science @ Udacity

Udacity 提供了一个很棒的免费课程,带你引入 Python 编程学习,学习搜索引擎的 更多东西,以及如何构建你自己的小型网络爬虫。它的确是一个值得参与的有趣的课程,并且还提供了额外的引导和社区支持.

http://www.youtube.com/watch?v=Pm_WAWZNbdA

你可以报名成为高级学生以获取导师的引导,并且可以在课程末得到一个证书。或者你可以自己使用免费的课件学习。不幸的是,高级课堂的容量有限,所以你 得在申请后进入等待列表.

它总共有 11 个课程,每一个都有很赞的文档。取它的官方主页查看更多的 信息或者查看你可能想问的问题的答案.

Google’s Python Class

Google 它本身就被一大堆 Python 代码驱动着,只有他们支持社区并且愿意 帮助其他人学习语言才有意义。这是我曾看过的最喜欢的指南/课程之一。它真的 很详细,而且适合初学者,观看起来也很有趣.

http://www.youtube.com/watch?v=tKTZoB2Vjuk

去看几分钟它的第一堂课,看看你是否喜欢那个老师,然后决定是否开始学习! Python 官方主页有所有的这些练习题和例程的链接.

简明 Python 教程

非常像 LPTHW,但是在如何制定你的完美学习计划并实施,以及如何开始第一步上 提供了更深的引导,而不会让你丧失自信心。对于那些想学 Python 的人来说它被认为是 最好的初学者教程之一,当然你要先看看前几章,看看自己是否喜欢它的写作风格.

Think Python

Think Python 是一个面向 Python 初学者的一个指南。它从编程的基本概念教起,而且它很 仔细地定义了所有的术语当他们第一次用到时,并且很有逻辑性地展现新的概念。像递归和面向 对象这样大一点的知识块被分成了一系列更小的步骤,穿插于课程几个章节.

在这个链接上你可以发现大量的示例代码。它是最专业的书之一,它有一个很严肃的原则: “教你计算机科学”。它需要接近 $40 才能买到,但是你可以下载免费的 PDF 和 HTML 版本。如果从头开始学 Python 的话,我肯定会从它上面得到好处.

Python at Learnstreet

你可能会想一个提供编程教程的网站应该知道如何在他们的页面上添加一个 HTML 标,哈哈哈。严肃一点地说,Learnstreet 提供了最棒的 Python 交互式学习教程,就像这篇文章所说的所有 东西一样,它对初学者很友好。如果你遇到了问题,最好用谷歌搜索他们.

我最喜欢 Learnstreet 的是每一个联系后面的大量提示/解释,就在你写代码的控制台里.

The New Boston

如果你更喜欢视频学习,我不确定是否还有比 The Nes Boston 的 Python 系列视频教程更 全面的了,其他的许多编程语言也可以在他们的 Youtube 频道里找到.

它唯一的缺点就是没有可以看或者下载的实体,你只能看视频。我是那种不能忍受得一直看视频 的程序员,这可能与我选择 Google 的 Python 课程有冲突,但它们是在太有趣了.

Python @ Coursera

这个课程是为从来没接触过编程的人准备的。你只需要十年级的数学基础就可以了: 懂简单的数学 方程和算术优先级。以及像 f(x) = x + 5 这样的函数.

它应该在十周内就可以学完,每周大概花10小时来完成课后作业。如果你有时间来做这个,并且 不会压垮你自己,我十分推荐你注册并完成这个课程,它只会巩固你的知识,并可以结合上面介绍 的任何资源以更好的理解 Python.

推荐几本Python的书(由浅到深)

一、Python基础教程

《图灵程序设计丛书:Python基础教程(第2版 修订版)》包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识。结尾,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了几个具有实际意义的Python项目的开发过程。

二、Python编程:从入门到实践

本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:首部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D游戏开发,如何利用数据生成交互式的信息图,以及创建和定制简单的Web应用,并帮读者解决常见编程问题和困惑。

三、利用Python进行数据分析

《利用Python进行数据分析》讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。同时,它也是利用Python进行科学计算的实用指南(专门针对数据密集型应用)。  《利用Python进行数据分析》重点介绍了用于高效解决各种数据分析问题的Python语言和库。《利用Python进行数据分析》没有阐述如何利用Python实现具体的分析方法。

四、Python核心编程

《Python核心编程(第3版)》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、Django Web框架、云计算、高级Web服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。

《Python核心编程(第3版)》适合具有一定经验的Python开发人员阅读。

五、Python数据分析与挖掘实战

本书共15章,分两个部分:基础篇、实战篇。基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例实践获得数据挖掘项目经验,同时快速领悟看似难懂的数据挖掘理论。读者在阅读过程中,应充分利用随书配套的案例建模数据,借助相关的数据挖掘建模工具,通过上机实验,以快速理解相关知识与理论。

六、量化投资以Python为工具

本书主要讲解量化投资的思想和策略,并借助Python 语言进行实战。本书一共分为5部分,第1部分是Python 入门,第2部分是统计学基础,第3部分是金融理论、投资组合与量化选股,第4部分是时间序列简介与配对交易,第5部分是技术指标与量化投资。本书首先对Python 编程语言进行介绍,通过学习,读者可以迅速掌握用Python 语言处理数据的方法,并灵活运用Python 解决实际金融问题;其次,向读者介绍量化投资的理论知识,主要讲解量化投资所需的数量基础和类型等方面;最后讲述如何在Python语言中构建量化投资策略。

七、机器学习实战

机器学习是人工智能研究领域中的一个极其重要的方向。在现今大数据时代的背景下,捕获数据并从中萃取有价值的信息或模式,使得这一过去为分析师与数学家所专属的研究领域越来越为人们瞩目。

本书通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效可复用的Python代码阐释如何处理统计数据,进行数据分析及可视化。读者可从中学到一些核心的机器学习算法,并将其运用于某些策略性任务中,如分类、预测及推荐等。

可以学习Python的地方

1、Vamei老师:【python快速教程】

2、廖雪峰老师:【python教程】

3、实验楼:【Python基础+项目实战课程】

4、《笨办法学 Python》:这本书绝对是最简单的学习 Python 的方法,本书的 HTML 在线版是完全免费的。

5、Python Weekly:每周更新,包括Python相关的文章、教程、演讲、书籍、项目、工作等。

6、Python challenge:用Python编程技能解决33个谜题,闯关。

7、Python官方文档:官网,去找资料吧!

关于Python的一些文章

1、值得关注的10个python语言博客

2、Python 有哪些好的学习资料或者博客?

3、Python 程序员经常犯的 10 个错误

4、Python程序员都会喜欢的6个库

5、python机器学习入门资料梳理

6、Python性能优化的20条建议

7、Python中的变量、引用、拷贝和作用域

8、Python的迭代器和生成器

9、Python爬虫:一些常用的爬虫技巧总结

10、Python“不为人知的”特性

11、Python进阶必读汇总

12、Python渗透测试工具合集

13、Python 中 import 的机制与实现

上一篇下一篇

猜你喜欢

热点阅读