1.IDE的选择
很多小白用户已经迫不及待的开始编写代码,但是一个很现实的问题出现了,到时该用什么工具去写代码,既快速又好用,安装方便,长的美观大方(好像找媳妇,出了聊厅堂,进的聊厨房~~扯远了).毕竟工欲善其事,必先利其器。修炼武功还是要选一个称手的兵器,于是我整理了一些Python的开发工具并结合我自己的经验,列出了2种最佳人气的工具给大家参考
(需要工具的密匙、安装环境或者其他工具可以加群:725479218)
Python就像一本武林秘籍,想要修炼起来,一定要找一个顺手的兵器,可以说挑选一个好的开发工具是极其重要的,一个好的IDE会帮助你方便地编写Python程序,使你的编程更加舒适。
我用python已经有好几年了,中间陆陆续续用过一些IDE,我觉得有2款神器是非常适合初学者的,用了之后感觉就像行云流水,爱不释手,写起代码来非常的爽~~ 推荐给大家,不好勿喷
一个好的开发工具应该是德才兼备:长的要漂亮,功能要强大,使用要简单,下面这2个都是这样的爆款
Sublime Text:发烧友级
Sublime 一个字就是炫,非常的酷,用了之后视觉效果上非常享受的。现在已经到Sublime Text3了.而且现在是非常流行的编辑器,基本上前端开发HTML、CSS、JS都用它。
第一它非常简洁,第二有庞大的插件库,第三字体配色实在是太好看了(我用了这么多工具,众里寻他千百度,蓦然回首发现还是它的字体配色最好看)
当然优点虽然很多,但也是有一些缺陷,就是交互不是特别的好,需要装一些插件来弥补,一般来说python 开发必装的有:
Package Control,Emmet,PyV8,SublimeREPL(终端的交互调试),SublimeCodeIntel(代码的提示)
2.Pycharm:专业级
如果说只能推荐一款python IDE,那么非Pycharm莫属,因为它的功能非常强大,
而且很多功能(调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制)这些已经都已经内置了,不用另外安装插件。最爽的是它的代码跳转非常实用,当你写一个大几千行的项目,里面的类,函数很多的时候,就需要它方便的跳转.
而且这款神器结合了 Flask,Django,H5,AngularJS 都包含了。这样对于web开发就不用再安装其他的IDE了。
另外还有一个非常重要的功能就是支持代码重构,相信资深码农都知道代码重构的重要性,我就不多说了。
以上2款是我强烈推荐的,工具一定要顺手,开发工具仁者见仁智者见智,关键是自己喜欢,用的爽就好.
2.学习的方向
对于没有女朋友打电话嘘寒问暖的程序员同志来说,研究Python大概是填补内心空虚的一个好选择,最近就有很多朋友来找小编咨询Python的用途和未来发展方向……那干脆今天就和大家一起梳理一下Python语言到底能做哪些事~
(需要相应的方向学习方法可以加群:725479218,群里面支持技术分享、技术交流,)
WEB开发
在国内,豆瓣一开始就使用Python作为web开发基础语言,知乎的整个架构也是基于Python语言,这使得web开发这块在国内发展的很不错。
尽管目前Python并不是做Web开发的首选,但一直都占有不可忽视的一席。Python中有各类Web框架,无论是简单而可以自由搭配的微框架还是全功能的大型MVC框架都一应俱全,这在需要敏捷开发的Web项目中也是十分具有优势的。广泛使用(或曾经广泛使用)Python提供的大型Web服务包括知乎、豆瓣、Dropbox等网站。加之Python本身的“胶水”特性,很容易实现在需要大规模性能级计算时整合其它语言,同时保留Web开发时的轻便快捷。
目前,国内的Python web开发主要有两个技术栈:
a、Django
Django是一个高级的敏捷web开发框架,如果学会了,撸一个网站很快。当然如果纯粹比撸网站的速度,基于ruby的Ruby on rails显然更快,但是Django有一个优势就是性能优秀,更适合国内网站的应用场景。国外的著名图片社区Pinterest早期也是基于Django开发的,承受了用户快速增长的冲击。所以说如果你想快速开发一个网站,还能兼顾APP客户端的API调用需求,Django是可以信赖的。
b、 Flask
相对于Django,Flask则是一个轻量级的web框架,Flask的最大的优势是性能优越,适合配合手机客户端开发后台API服务。国内基于Flask的Restful API服务这快很火,也是需求最大的。知名的比如百度、网易、小米、陌陌等等很多公司都有基于Flask的应用部署。当然,如果你想做一个传统的web网站,还是建议使用Django,Flask的优势是后端、API,不适合构建全功能网站。
网络爬虫
网络爬虫是Python比较常用的一个场景,国际上,google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息比以前容易很多了。
Python在这个方面有许多工具上的积累,无论是用于模拟HTTP请求的Requests、用于HTML DOM解析的PyQuery/BeautifulSoup、用于自动化分布式爬取任务的Scrapy,还是用于最简化数据库访问的各种ORM,都使得Python成为数据爬取的首选语言之一。特别是,爬取后的数据分析与计算是Python最为擅长的领域,非常容易整合。目前Python比较流行的网络爬虫框架是功能非常强大的scrapy。
人工智能(AI)与机器学习
人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?因为Python足够动态、具有足够性能,这是AI技术所需要的技术特点。比如基于Python的深度学习库、深度学习方向、机器学习方向、自然语言处理方向的一些网站基本都是通过Python来实现的。
机器学习,尤其是现在火爆的深度学习,其工具框架大都提供了Python接口。Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。
数据分析处理
数据分析处理方面,Python有很完备的生态环境。“大数据”分析中涉及到的分布式计算、数据可视化、数据库操作等,Python中都有成熟的模块可以选择完成其功能。对于Hadoop-MapReduce和Spark,都可以直接使用Python完成计算逻辑。这无论对于数据科学家还是对于数据工程师而言都是十分便利的。
其中诸如Seaborn这样的可视化库,能够仅仅使用一两行就对数据进行绘图,而利用Pandas和numpy、scipy则可以简单地对大量数据进行筛选、回归等计算。而后续复杂计算中,对接机器学习相关算法,或者提供Web访问接口,或是实现远程调用接口,都非常简单。
服务器运维及其它小工具
Python对于服务器运维而言也有十分重要的用途。由于目前几乎所有Linux发行版中都自带了Python解释器,使用Python脚本进行批量化的文件部署和运行调整都成了Linux服务器上很不错的选择。Python中也包含许多方便的工具,从调控ssh/sftp用的paramiko,到监控服务用的supervisor,再到bazel等构建工具,甚至conan等用于C++的包管理工具,Python提供了全方位的工具集合,而在这基础上,结合Web,开发方便运维的工具会变得十分简单。
更有意思的是,Python社区的开发者们还制作了诸如itchat这样的开发工具包,你大可以用微信来管理服务器或是各种服务的运行。想想看,一个微信机器人,能够在出现异常时,又或者每天固定时刻汇报服务器或是程序运行情况,甚至包含用matplotlib/seaborn绘制的图表,一目了然,而你对它发上简简单单一句话,即可完成对服务器的调整。
桌面程序
除此之外,Python也可以用于桌面软件开发(如sublime text等),甚至移动端开发(参看kivy)。Python简洁方便,各种工具包齐全的环境,能大幅度减少开发者的负担。著名的UI框架QT有Python语言的实现版本PyQT。Python简单易用的特性加上QT的优雅,可以很轻松的开发界面复杂的桌面程序,并且能轻松实现跨平台特性。
多媒体应用
可以用Python里面的PIL、Piddle、ReportLab 等模块对图象、声音、视频、动画等进行处理,还可以用Python生成动态图表和统计分析图表。另外,还可以利用PyOpenGl模块非常快速有效的编写出三维场景。
曾经为“阿贝斯(Abyss)”、“星际迷航(Star Trek)”、“Indiana Jones”等超级大片制作过特技和动画的工业光魔公司(Industrial Light)就采用Python进行商业动画制作。然而在很早以前,Python就是一种游戏编程的辅助工具,在《星球大战》的制作中扮演了重要的角色,现在,完全可以通过Python写出非常棒的游戏程序。