Python是一门简单易学的编程语言,代码简洁优美,最近,随着人工智能技术兴起,python也跟着火起来了。
Python主流的应用包括:Web开发、图形界面开发、系统网络运维、网络编程、科学数字计算、3D游戏开发,而目前用的最多的就是Web开发和数据科学计算。
大家所熟知的Anaconda,就主要集成了这两方面的包,供用户使用,十分方便。
我用Flask开发过一个数据分析平台,那就从Flask开始介绍。
这是我收藏的Flask教程和学习资源。有需要的可以私我。
Flask很轻,本身就是用Python语言编写的,兼容性很高,它采用WerkzeugJinja2模板,再加上一系列的extension功能,花很少的成本就能够开发一个简单的网站,非常适合初学者学习。
如上,就是一个简单的“helloword”页面的实现。
如果你是一个小团队,开发网站的复杂性不高,便推荐采用Flask开发,如果网站功能很复杂,则推荐下面这个商业上应用很广的框架,Django
Django是一个全能型框架,也是PythonWeb开发使用最多的框架,最有学习的价值,如果初学者接触,一定要沉得住气,才能真正学好。
如果你使用的IED是pycharm,那么可以直接右键新建Django项目
如上图,你还看到了flask、pyramid、Web2py等类型的项目,其中,Django排在最前面,我觉得也说明了它的重要性和常用性。
然后再看官方文档,结合一些视频课程一起学习,学习资源还是挺丰富的。
当然,除了上面两个常用的pythonWeb框架之外,还有如下几种也可以了解一下
Tornado是一个性能很高的框架。Tornado是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。
所以,它是非阻塞式服务器,而且速度相当快。下面就是一个经典的helloword示例。
另外一点是,Tornado的设计似乎更注重RESTfulURL。但Tornado提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展,所以,用tornado的一个很明显的好处是,有些轮子自己造才能学到东西。
知乎就是基础Tornado开发的。
另一个好处是因为是facebook开源的,加上自身优秀的代码质量和傲娇的效率表现,目前非常火,诞生了一大批的优秀产品,除了知乎外,quora,INK361,42区.遇见也是Tornado开发的。
Bottle和Flask都属于轻量级,是一个非常精致的WSGI框架。Bottle适用于小型的Web开发,在应用程序规模比较小的情况下可以实现快速开发。但是由于自身功能所限,对于大型的Web程序,Bottle的功能略显不足。
上面是一个简单的示例。
web2py是我学习Python的时候,接触的第一个web框架,当时觉得很神奇,它直接提供了一个管理页面,供administrator操作,创建账户和密码都不是难事,简单,小巧,灵活。
但或许你也已经听说过了,这个框架是基于Python2.7开发的,但维护和更新没有跟上,不然那还有flask什么事啊!
web2py是Google在web.py的基础上二次开发而来的,兼容GAE(GoogleAppEngine),性能很高。
著名的豆瓣就是基于Quixote开发的,跟上面几个框架不同,Quixote的路由会有些特别。另外Quixote的性能据说也好