Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,具备20多年的发展历史,成熟且稳定。html
用任何编程语言来开发程序,都是为了让计算机干活,好比下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,因此,尽管不一样的编程语言差别极大,最后都得“翻译”成CPU能够执行的机器指令。而不一样的编程语言,干同一个活,编写的代码量,差距也很大。
好比,完成同一个任务,C语言要写1000行代码,Java只须要写100行,而Python可能只要20行。
因此Python是一种至关高级的语言。
Python(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。java
Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议。Python语法简洁清晰,特点之一是强制用空白符(whitespace)做为语句缩进。node
Python具备丰富和强大的库。它常被昵称为胶水语言,可以把用其余语言制做的各类模块(尤为是C/C++)很轻松地联结在一块儿。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),而后对其中有特别要求的部分,用更合适的语言改写,好比3D游戏中的图形渲染模块,性能要求特别高,就能够用C/C++重写,然后封装为Python能够调用的扩展类库。须要注意的是在您使用扩展类库时可能须要考虑平台问题,某些可能不提供跨平台的实现。python
简单:Python是一种表明简单主义思想的语言。阅读一个良好的Python程序就感受像是在读英语同样。它使你可以专一于解决问题而不是去搞明白语言自己。linux
易学:Python极其容易上手,由于Python有极其简单的。git
免费、开源。程序员
高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。web
可移植性:因为它的开源本质,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语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通讯、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。
Python标准库的主要功能有:
开发效率高:丰富的库,听说豆瓣开发只用了3个月时间就上线了。
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间在阿姆斯特丹为了打发无聊的圣诞节而编写的一个脚本解释编程语言。之因此选中Python做为编程的名字,是由于他是一个蒙提·派森的飞行马戏团的爱好者。
创始人为吉多·范罗苏姆(Guido van Rossum)
Python 2.0于2000年10月16日发布,主要是实现了完整的垃圾回收,而且支持Unicode。
Python 3.0于2008年12月3日发布,此版不彻底兼容以前的Python源代码。
(1).常规软件开发
Python支持函数式编程和OOP面向对象编程,可以承担任何种类软件的开发工做,所以常规的软件开发、脚本编写、网络编程等都属于标配能力。
桌面软件:PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
(2).科学计算
随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python愈来愈适合于作科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更普遍,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前仍是没法替代的,不过在平常的科研开发之中仍然有不少的工做是能够用Python代劳的。
Python是一门很适合作科学计算的编程语言,97年开始,NASA就大量使用Python进行各类复杂的科学运算,随着NumPy、SciPy、Matplotlib、Enthought librarys等众多程序库的开发,使得Python愈来愈适合作科学计算、绘制高质量的2D和3D图像。
(3).自动化运维、操做系统管理
这几乎是Python应用的自留地,做为运维工程师首选的编程语言,Python在自动化运维方面已经深刻人心,好比Saltstack和Ansible都是大名鼎鼎的自动化平台。
在不少操做系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了Python,能够在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,好比Ubuntu的Ubiquity安装器,RedHatLinux和Fedora的Anaconda安装器。GentooLinux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操做系统功能的库。经过pywin32这个第三方软件包,Python可以访问Windows的COM服务及其它WindowsAPI。使用IronPython,Python程序可以直接调用.NetFramework。通常说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
(4).云计算
开源云计算解决方案OpenStack就是基于Python开发的,搞云计算的同窗都懂的
(5).WEB开发
基于Python的Web开发框架不要太多,好比耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围很是广,开发速度很是快,学习门槛也很低,可以帮助你快速的搭建起可用的WEB服务。
Python常常被用于Web开发。好比,经过mod_wsgi模块,Apache能够运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通讯。一些Web框架,如Django,TurboGears,web2py,Zope等,可让程序员轻松地开发和管理复杂的Web程序。
(6).网络爬虫、服务器软件
也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。可以编写网络爬虫的编程语言有很多,但Python绝对是其中的主流之一,其Scripy爬虫框架应用很是普遍。
Python对于各类网络协议的支持很完善,所以常常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),而且提供了多种工具,被普遍用于编写高性能的服务器软件。
(7).数据分析
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。
(8).人工智能
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,获得普遍的支持和应用。
(9).游戏
不少游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
近些年,编程语言Python的热度愈来愈高,由于Python简单,学起来快,是很多程序员入门的首选语言。
在网络游戏开发中,Python也有不少应用,相比于Lua or C++,Python比Lua有更高阶的抽象能力,能够用更少的代码描述游戏业务逻辑,Python很是适合编写1万行以上的项目,并且可以很好的把网游项目的规模控制在10万行代码之内。
(10).金融分析与交易
金融分析包含金融知识和Python相关模块的学习,学习内容囊括Numpy\Pandas\Scipy数据分析模块等,以及常见金融分析策略如“双均线”、“周规则交易”、“羊驼策略”、“Dual Thrust 交易策略”等。
量化交易,就是以数学模型替代人的主观判断来制定交易策略。一般会借助计算机程序来进行策略的计算和验证,最终也常直接用程序根据策略设定的规则自动进行交易。
Python 因为开发方便,工具库丰富,尤为科学计算方面的支持很强大,因此目前在量化领域的使用很普遍。市面上也出现了不少支持 Python 语言的量化平台。经过这些平台,你能够很方便地实现本身的交易策略,进行验证,甚至对接交易系统(因为政策缘由,如今不少交易接口暂停开放)。
Python 量化平台:
目前国内比较知名的几个平台:
优矿 uqer.io聚宽 joinquant.com米筐 ricequant.com
国外知名平台:
它们均可以使用 Python 进行策略开发。以优矿为例,注册以后,在“开始研究”页面,新建一个 Notebook,就能够开始用 Python 写你本身的策略。
https://www.cnblogs.com/dhcn/p/7121435.html
示例:
#! 简单的交易策略:天天买入一手股票池里的全部股票。 start = '2018-01-01' # 回测起始时间 end = '2019-01-01' # 回测结束时间 benchmark = 'HS300' # 策略参考标准 universe = ['000001.XSHE', '600000.XSHG'] # 证券池,支持股票和基金 capital_base = 100000 # 起始资金 freq = 'd' # 策略类型,'d'表示使用日线回测 refresh_rate = 1 # 调仓频率,表示执行handle_data的时间间隔,因为freq = 'd',时间间隔的单位为交易日 def initialize(account): # 初始化虚拟帐户状态 pass def handle_data(account): # 每一个交易日的买入卖出指令 for stock in account.universe: order(stock,100)
结果:
Python的就业方向
在过去的十年里,Python语言得到了最大的增加幅度——十年语言之冠。
语言当前排行:
排行发展:
国外谁在使用python
Python Google的三大编程语言之一
在Google,C++、Java、Python是使用率排名前三的编程语言,使用Python的开发团队也是Google的第三大研发部门。
在Google内部的不少项目,例如Google Engine使用C++编写性能要求极高的部分,而后用Python或Java/Go调用相应的模块。
YouTube主要是Python写的
国内谁在使用python
腾讯游戏运营支撑体系的开发团队,在使用django/celery/rabitmq/mongodb开发了一个已普遍使用的内部开放平台。
豆瓣最初使用Python开发,只是用了3个月。
资料:
wiki:http://zh.wikipedia.org/zh/Python
Chinaunix的Python论坛资料
《OReilly-Learning-Python-4th-Edition-Oct-2009》
《简明 Python 教程》(中文),对应的英文版是《A Byte of Python》
深刻 Python 3,http://goo.gl/cyrUY
工具:
UliPad 代码编辑工具(自己由python编写)
Pydev:eclipse + pydev插件
Eric:基于PyQt的自由软件,功能强大。
1)上python官网下载python运行环境(https://www.python.org/downloads/),建议下载稳定版本,不推荐使用最新版本
2)上pycharm官网下载最新版的IDE(http://www.jetbrains.com/pycharm/download/#section=windows),官网提供了mac、windows和linux三种版本
Python IDE
优秀的Python IDE有不少,这里介绍几款:
3)上postgresql官司网下载最新版的数据库(https://www.postgresql.org/download/windows/ 打开页面后,点击Download the installer进入下载页,而后选择版本和操做系统,再点击下载)
1)安装python运行环境
双击python-3.5.2.exe
通常采用自定义安装比较好,否则自动安装会把环境安装到我的目录里,有时要找起来很麻烦
另外第二个红框前面的勾记录打上,否则须要手动在windows环境变量的路径中添加python安装路径
这里将安装路径手动修改一下,能够安装到C盘也能够安装到D盘
完成安装
而后咱们打开CMD,在里面输入python,就能够直接进入进行编码了
咱们能够输入print('hello world!')来测试一下python运行,以下图
若是输入python出现下面错误
那就得手动将python安装路径添加到系统环境变量中
打开开始菜单,对计算机点右键=》属性
选中后点击编辑,在最后面分别添加
;C:\Python\Scripts\;C:\Python\;
这是刚才的安装路径
而后打开新的CMD(要开新的cmd才有效),输入python就能够看到刚才的提示进入编码界面了
双击pycharm安装包,通常按正常的默认安装项就能够了
这里是选择IDE编辑界面皮肤的,通常来讲使用黑底灰字看起来没那么刺眼,对眼好一点,这里选择之后还能够在里面设置。
提交后安装成功。
汉化方法,不建议汉化
到网上下载个汉化包更名为resources_cn.jar,而后直接复制到安装路径下的lib文件夹里,从新打开IDE就自动汉化了
想要取消汉化,只须要将这个文件删除,从新打开IDE就自动恢复英文版本
建议不要进行汉化,由于汉化后IDE有一些功能使用不了或点击不了
要配置编辑界面皮肤,可按下面进行配置。通常字体按默认项会比较小,也能够按下面的配置修改大一些。
这里的列表项选择可使用不一样的皮肤
使用默认项时,字体大小没法直接进行修改,点击Save As... 另存为后就能够修改
另存为后如今就能够直接修改了
3)安装postgresql数据库
双击安装文件,而后按默认项安装就能够了
最后一步这个勾最好去掉,否则会弹出安装各类插件的窗口,通常来讲那些插件咱们暂时都用不上,不用进行安装
安装包有两种方法,一种是使用命令行,一种是IDE选择安装
1)命令行安装方式
打开cmd,输入pip install flask (你要安装的包名称),按回车就开始进入安装了
等一会就安装成功了
通常咱们须要将pip升级到最新版本,这样能够减小安装问题的出现
在cmd中输入下面命令,就会启动pip升级
1
|
pip install https:
/
/
pypi.python.org
/
packages
/
11
/
b6
/
abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447
/
pip
-
9.0
.
1.tar
.gz
#md5=35f01da33009719497f01a4ba69d63c9
|
咱们在cmd中输入:pip --version 就能够看到当前的pip版本了
万一pip升级失败,也不用怕,能够到python官网进行下载安装包进行安装升级
在浏览器地址栏中输入:https://pypi.python.org/pypi/pip
下载安装包,并解压到C盘根目录
在DOS下输入下图命令,进入pip-9.0.1文件夹,而后输入:python setup.py install 进入pip安装
完成pip升级操做
2)IDE安装方式
打开IDE,点击:File => Default Settings
而后选择Project Interpreter,就能够看到已经安装好的python包列表了,点击右上角的+进入安装包选择界面
在顶部搜索框里输入想要安装的包名称,就能够搜索到安装包,而后选择它,点击左下角的Install Package,IDE就开始进入下载安装了,若是出现因为网络缘由形成安装失败,能够点击其余项后再点回来,而后点安装,屡次后就能够安装成功,反复进行后仍是没法安装成功的,能够点击查看出错缘由,也可使用命令方式进行,直接看到出错缘由。
完成以上操做后,就能够开始开发pythont程序了
商业应用建议你们购买版权,学习使用能够绿化。
地址:https://gitee.com/pengzhile/jetbrains-agent
使用方法:
0. 先下载压缩包解压后获得jetbrains-agent.jar,把它放到你认为合适的文件夹内。
若是你没有gitee帐号,你也能够在这里下载:
下载页面:https://zhile.io/2018/08/17/jetbrains-license-server-crack.html
1. 点击你要注册的IDE菜单:"Configure|Help" -> "Edit Custom VM Options ..."
若是提示是否要建立文件,请点"是|Yes"。
参考文章:https://intellij-support.jetbrains.com/hc/en-us/articles/206544869
2. 在打开的vmoptions编辑窗口末行添加:"-javaagent:/absolute/path/to/jetbrains-agent.jar"
必定要本身确认好路径,填错会致使IDE打不开!!!最好使用绝对路径。
如: -javaagent:/Users/neo/jetbrains-agent.jar
若是仍是填错了,参考这篇文章编辑vmoptions补救:
https://intellij-support.jetbrains.com/hc/en-us/articles/206544519
3. 重启你的IDE。
4. 注册选择License server方式,地址填入:http://jetbrains-license-server (应该会自动填上)
或者点击按钮:"Discover Server"来自动填充地址
5. 若是提示错误:
"Error opening zip file or JAR manifest missing : jetbrains-agent.jar"
这种状况请试着填上jar文件的绝对路径.
** 若是你想要离线激活,请使用:ACTIVATION_CODE.txt 内的注册码激活(需按上述步骤配置javaagent)。
若是你须要自定义License name,请加群告知。
** 未注册IDE找不到Help菜单可选择“试用(Evaluate for free)”后打开主界面。
本项目在最新2018.3.5上测试经过(请注意阅读本文件9行)。
理论上适用于目前Jetbrains全系列全部新老版本。
IDE升级会从旧版本导入以上设置,导入配置后可能提示未注册(由于刚导入的vmoptions未生效),直接重启IDE便可,无需其余操做。
在命令行模式下敲命令python,就看到相似以下的一堆文本输出,而后就进入到Python交互模式,它的提示符是>>>。
在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:
在交互模式的提示符>>>下,直接输入代码,按回车,就能够马上获得代码执行结果。如今,试试输入1000+2000,看看计算结果是否是3000:
在Python交互式模式下,能够直接输入代码,而后执行,并马上获得结果。
在Python的交互式命令行写程序,好处是一下就能获得结果,坏处是无法保存,下次还想运行的时候,还得再敲一遍。
在一个没有中文的目录下建立一个名称为Hello.py的文件,使用记事本打开,编写以下代码:
#! Hello World! print ("Hello world!");
在命令行编译运行:
启动PyCharm
启动成功后选择File菜单下的New Project项
设置项目名称与路径
新建一个python文件
输入文件名称,编写源程序
编译并运行,选择Run菜单下的run运行
基本输入与输出:
name=input("请输入名称:"); print("Hello Python!"+name); print("1+1=",1+1);