一、Python介绍
1.1、优点、缺点
优点
缺点
1.2、应用
1.3、既然Python速率比C慢,那么在什么场景需要用到Python比较好?
1.4、为什么AI首选Python语言?
1.4.1、Python是一种说人话的语言
1.4.2、强大的AI支持库
1.4.3、规模效应
1.5、既然有了Matlab,为什么还要Python?
二、Python版本
2.1、 CPython
2.2、PyPy
2.3、Jython
2.4、 IronPython
2.5、初学者建议版本(Python3.x版本 + CPython实现)
三、pycharm开发工具
四、pycharm工具安装
4.1、pycharm的基本介绍
4.2、pycharm的软件版本
PyCharm Professional Edition(专业版)
PyCharm Community Edition
PyCharm Educational Edition
4.3、pycharm安装步骤
摘自:
http://www.shareblogs.top/312/
https://www.python.org(官网)
https://baike.baidu.com/item/Python/407313?fr=aladdin
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:Python极其容易上手,因为Python有极其简单的说明文档 [6] 。
速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。 [3]
免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,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平台。
解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。
运行速度慢:这里是指与C和C++相比。
摘自:https://baike.baidu.com/item/Python/407313?fr=aladdin
系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
Web编程:应用的开发语言,支持最新的XML技术。
多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
用Python写简单爬虫
首先,要通过urllib2这个Module获得对应的HTML源码。(PS:在python3.3之后urllib2已经不能再用,代之以urllib)
1 2 3 4 |
|
通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。
接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。
可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。
而对比c,同样的功能,python可以表达比c更加精炼,当然牺牲了一些性能。如果确实对某个模组性能不满意,还可以使用 c 编写 Python 模块为其加速。开发效率高、语言简单。
参考:https://www.zhihu.com/question/19600126
参考:https://www.sohu.com/a/230730566_297161,给出了几个原因或答案。
语言简单易学,支持库丰富强大,这两大支柱从早期就奠定了Python的江湖地位。
和MATLAB相比,用Python做科学计算有如下优点:
● 首先,MATLAB是一款商用软件,并且价格不菲。而Python完全免费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。
● 其次,与MATLAB相比,Python是一门更易学、更严谨的程序设计语言。它能让用户编写出更易读、易维护的代码。
● 最后,MATLAB主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文件管理、界面设计、网络通信等各种需求。而Python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用Python实现完整应用程序所需的各种功能。
Python语言目前主要有2.x版本和3.x版本,不同系列的兼容性可能不好。对于刚开始学习Python的人来说,应该直接学习3系列版本,因为按照Python的发展规划,未来将不再支持2系列版本。
如上图所示,Python有几种不同版本的实现方式,因为它们正在积极开发中,版本会定期发布。目前,有四种产品完备的、强大和稳定的主流Python实现:
CPython是常规的老版本Python,也是我们通常所称的Python。它既是编译器也是解释器,有自己的一套全部用标准C语言编写的标准程序包和模块。该版本可以直接用于所有流行的当前平台。大多数的Python第三方程序包和库与此版本兼容。
优点是——是目前应用最广泛的解释器。最新的语言特性都是在这个上面先实现,基本包含了所有第三方库支持。
缺点是——是全局锁使Python在多线程效能上表现不佳,二是CPython无法支持JIT(即时编译),导致其执行速度不及Java和Javascipt等语言。于是出现了Pypy。
PyPy是Python实现的一个更快实现,它使用JIT编译器来使代码运行速度比CPython实现的速度更快——有时提供达10x-100x的加速。PyPy还有更高的内存效率,支持greenlet和stackless从而具有高并行性和并发性。
优点是——是用Python自身实现的解释器。针对CPython的缺点进行了各方面的改良,性能得到很大的提升。最重要的一点就是Pypy集成了JIT。
缺点是——但是,Pypy无法支持官方的C/Python API,导致无法使用例如Numpy,Scipy等重要的第三方库。这也是现在Pypy没有被广泛使用的原因吧。
Jython是Java平台的Python实现,它支持Java虚拟机(Java Virtual Machine,JVM),适用于任何版本的Java(版本最好是7以上)。通过使用Jython,你可以用所有类型的Java库、包和框架来编写代码。当你更多地了解Java语法和Java中广泛使用的OOP原则(如类、对象和接口)时,它的效果最好。
优点是——
缺点是——
IronPython是流行的Microsoft .NET框架的Python实现,也称为通用语言运行时(Common Language Runtime,CLR)。你可以使用IronPython中的所有Microsoft CLR库和框架,即使你实质上并不需要在C#中编写代码,它也有助于你更多地了解C#的语法和构造,以有效地使用IronPython。
优点是——
缺点是——
我们首先建议你使用默认的Python3.x和CPython实现,只有当你真的有兴趣与其它语言(如C#和Java)进行接口并需要在代码库中使用它们时,才可以去尝试其它版本。
主要参考:
https://www.cnblogs.com/mq0036/p/5014236.html
https://blog.csdn.net/zw0pi8g5c1x/article/details/81124942
https://www.python.org(官网)
好了Python语言介绍得差不多,下面主要介绍其开发工具pycharm。
目前我们用的比较多的是pycharm,它可以跨平台使用,虽然软件启动较慢,但是当代码量较大的时候,它跨平台功能的优势就会体现。
参考https://bbs.csdn.net/topics/390960817?page=2
https://blog.csdn.net/younghahahaha/article/details/90260831
https://blog.csdn.net/GUDUzhongliang/article/details/77679684
https://blog.csdn.net/qq_39720249/article/details/90057220#六、PyCharm%20使用(这篇博客很完整,包括了汉化包,破解包,其实参考这篇,就可以实现完美的安装破解了)
https://blog.csdn.net/qq_39720249/article/details/90057220#六、PyCharm%20使用(这篇博客很完整,包括了汉化包,破解包,其实参考这篇,就可以实现完美的安装破解了)
https://blog.csdn.net/qq_39720249/article/details/90057220#六、PyCharm%20使用(这篇博客很完整,包括了汉化包,破解包,其实参考这篇,就可以实现完美的安装破解了)
——具有良好的辅助编程工具:调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。
——具备功能:图形页面调试器、集成的单元测试、可自定义&可扩展、支持Google App引擎、项目代码导航
http://www.jetbrains.com/(官网)官网提供了三种版本:
建议你下载专业版,功能更强大。然后用下面的博客,就可以永久破解专业版了。