Focus On Oracle

Installing, Backup & Recovery, Performance Tuning,
Troubleshooting, Upgrading, Patching

Oracle Engineered System


当前位置: 首页 » 技术文章 » 开源之美

python basic knowledge

随着云计算、大数据的发展,python也越来越受欢迎,她在数据分析、机器学习方面有自己独特的优势,就是简单。截止目前,从TIOBE上看,Python的排名是第四,也是这些年发展最快的开发语言。下面简单的看一下Python的历史。

Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序。

1991年,第一个Python编译器诞生。它是用C语言实现的,很多语法来自C,能够调用C语言的库文件,并已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。

Python语言以对象为核心组织代码,支持多种编程范式,采用动态类型,自动进行内存回收。Python支持解释运行,并能调用C库进行拓展。Python有强大的标准库。由于标准库的体系已经稳定,所以Python的生态系统开始拓展到第三方包。

从Python 2.0开始,Python也从maillist的开发方式,转为完全开源的开发方式。
Python 2于2000年10月16日发布,稳定版本是Python 2.7。也是Python 2.x的最后一个版本,它除了支持Python 2.x语法外,还支持部分Python 3.1语法。
Python 3于2008年12月3日发布,不完全兼容Python 2。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。

Python2和Python3的区别请参考下文
https://nbviewer.jupyter.org/github/rasbt/python_reference/blob/master/tutorials/key_differences_between_python_2_and_3.ipynb
http://chenqx.github.io/2014/11/10/Key-differences-between-Python-2-7-x-and-Python-3-x/

Python解释器
CPython:官方版本的解释器。这个解释器是用C语言开发的,所以叫CPython。CPython是使用最广的Python解释器。我们通常说的、下载的、讨论的、使用的都是这个解释器。

Ipython:基于CPython之上的一个交互式解释器,在交互方式上有所增强,执行Python代码的功能和CPython是完全一样的。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy:一个追求执行速度的Python解释器。采用JIT技术,对Python代码进行动态编译,可以显著提高Python代码的执行速度。绝大部分CPython代码都可以在PyPy下运行,但还是有一些不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。

Jython:运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython:和Jython类似,IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

Python的使用场景
科学计算
NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序
桌面软件
PyQt、PySide、wxPython、PyGtk是Python快速开发桌面应用程序的利器
服务器/网络软件
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步在线编写程序和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。另有gevent这个流行的第三方库,同样能够支持高性能高并发的网络开发。
Web应用开发
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。使用Python语言编写的Gunicorn作为Web服务器,也能够运行Python语言编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的沟通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可以让程序员轻松地开发和管理复杂的Web程序。

下载使用Python
https://www.python.org/downloads/

Python包管理工具

pip是Python包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载等功能。如果你在python.org下载最新版本的安装包,已经包含了该工具。
注:Python 2.7.9+或Python 3.4+以上版本都自带pip 工具,一般情况pip对应的是 Python 2.7,pip3 对应的是Python 3.x。
pip下载地址
https://pypi.org/project/pip/

如果还没有pip,可以通过下面的链接安装
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

注意:用哪个版本的Python运行安装脚本,pip就会被关联到那个版本,如果是Python3则执行以下命令:
python2 get-pip.py
python3 get-pip.py

pip常用命令

pip --version
pip --help
pip install -U pip
pip show
pip show -f
pip list

pip list -o

wxPython是一个用于Python编程语言的跨平台GUI工具包。 它允许Python程序员简单轻松地创建具有强大,高功能的图形用户界面的程序。 它被实现为一组Python扩展模块,它们包含流行的wxWidgets跨平台库的GUI组件,该库是用C ++编写的。在Windows and macOS上,可以通过pip install -U wxPython去安装

pip install -U wxPython


Numpy,SciPy,Pandas,Matplotlib是我们使用Python从事数据科学工作时都不可或缺:
Numpy:为多维数组和矩阵添加Python支持,并提供高级的数学函数来运算这些数组,是数据分析之源
SciPy:在Numpy之上汇集了一系列的数学算法和便捷的函数,向开发者提供用于数据操作与可视化的高级命令和类,是构建交互式Python会话的强大工具
Pandas:数据操作和分析的Python库,用于处理数字图表和时序数据的数据结构和操作功能,是数据操作的利器
Matplotlib:Python中常用的绘图库,用于可视化分析,在它的基础上又衍生了更为高级的绘图库Seaborn


关于机器学习请参考

https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-science-pdf-f22dc900d2d7


Reference

https://zh.wikipedia.org/wiki/Python

https://en.wikipedia.org/wiki/History_of_Python
https://en.wikipedia.org/wiki/Python_(programming_language)
https://pip.pypa.io/en/stable/installing/

https://www.tiobe.com/tiobe-index/

http://scipy-lectures.org/

https://www.lfd.uci.edu/~gohlke/pythonlibs/

https://pandas.pydata.org/pandas-docs/stable/index.html

https://github.com/cloudxlab

https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-science-pdf-f22dc900d2d7

https://fabienmaussion.info/scientific_programming/html/16-Scientific-Python.html

https://speakerd.s3.amazonaws.com/presentations/87e03729ebb640f9b990ff079bc49651/SciPy_Keynote.pdf

https://indranilsinharoy.com/2013/01/06/python-for-scientific-computing-a-collection-of-resources/

http://chris35wills.github.io/courses/pydata_stack/


关键词:pip python 

相关文章

wordcloud and jieba
Get financial data by tushare
conda and anaconda
python basic knowledge
Top