天天看点

python的下一步

感兴趣的项目

现在该干什么?学完了一门语言的基础知识后,都会有的问题。几乎每个开发者在学习完课程之后,都会感到疑惑。现在应该做些什么呢?

创建Web站点和Web应用程序

如果学习了flask创建Web站点。进行Web开发的时候,Flask并非唯一选择,另外,可能想要学习更多的知识,以便将Web站点从自己的计算机上取出并放到真正的服务器上,让其他人也能看到它。

1.框架和应用

python社区维护了一个页面,其中包括当前主流的框架介绍,参见

https://wiki.python.org/moin/WebFrameworks

(1)Django https://www.djangoproject.com/ 是流行的Python Web

框架,以其功能强大和灵活性而闻名。其相关文档非常完备,还有一个很大而且活跃的社区。如果需要比Flask更强大的框架,Django是一个很好的选择。

(2)Web2py http://www.web2py.com/ 是另一个轻量级的框架。它不需要像大多数其它框架那样进行安装。只要能够运行Python的地方就可以运行它。甚至可以通过一个U盘来运行它。

(3)Plone http://plone.org/ 是一款功能完备的内容管理系统。和框架不同,plone有一个完备的Web站点,具备有很多的功能,立即就可以使用它们。有数百个plone扩展和主题可供使用。

2.托管服务

在电脑上开发一个Web站点和在服务器上运行一个Web站点有很大的区别,如果不想了解如何运行服务器,那么起其中办法是找一个托管服务提供者。有很多这样的提供者,包括大多数一般性站点所使用的提供者,以及那些为大型公司运行Web站点的提供者。

由于新的服务总是不断涌现出来,查找它最好的办法是,在网上搜索你的框架名称,再加上一个”hosting”。查找过去几年的论坛帖子,或者真正的主机站点。

一个有趣的选项是Python Anywhere(参见:https://learncss.tutsplus.com/)在哪里,可以找到一个免费的账户,它允许你创建一个Web应用,可以通过一个Web界面来编辑文件,并且有教程可以帮助你进行编辑、重新启动服务器并更新其它的文件。

创建桌面应用

python带有一个名为Tkinter的库,用来创建图形化用户界面(Graphical User Interfaces) 简称GUI。

Python社区维护了Tkinter教程的一个列表,参见 https://wiki.python.org/moin/TkInter 仅仅因为python包含了创建GUI的一个库,创建第三方的领域。

Pyjs(也叫做Pyjamas)也是一款框架,不仅能够用于Web,而且可以用来创建桌面应用程序。可以在http://pyjs.org/ 中找到Pyjs。

PyGUI是另一 款创建桌面应用的工具,优点在于,要理解其文档并不需要精通桌面工具。可以在

http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/中找到pyGUI。

wxPython也是一个简单的框架,并且提供了一个教程帮助用户创建桌面应用程序。

在 https://www.wxpython.org/ ;

创建Android和ios应用程序

Kiby是不错的选择。它是免费的,并且允许为Mac OS 和 Windows构建应用程 序。它支持多触电,并且使得创建各种界面元素变得很容易。

https://kivy.org/#home

游戏开发竞赛

pyWeek可以免费参加,并且可以独自参加或以团队的形式参赛。有一个星期的时间来编写游戏。

https://pyweek.org/

科学和数学中的python

python在如下的科学和数学领域表现很强,因此,这方面有很多一流的第三方库。Scipy包含了众多的基于科学和数学的模块。

包括如下内容:

Numpy 处理大型矩形和数组的一个包。

Sympy 用于符号算术的包。

Scipy Library 用于科学计算的一个库。

Matplotlib 用于2D绘图的一个库。

pandas 数据结构和分析的一个库。

SciPy 以及所有单个模块的链接, 可以在 http://www.scipy.org/ 中找到。

创建更好的工作环境

在开始一个新的项目的时候,有经验的开发者要做的第一件事情是,将其放入到一个沙箱中。沙箱是这样的一个地方,项目可以存在与其中而不会影响到系统中任何其他项目,无论 项目在电脑或服务器上,使用沙箱的习惯是如此根深蒂固,以至于开发者常常在服务器上为此折腾一个小时,而且是在只有一个项目的情况下。

python中使用沙箱的最流行的方式,是使用virtualenv和virtualenvwrapper。virtualenv是一款真正的执行沙箱工作的应用程序,而

virtualenvwrapper提供了很多的辅助函数,如快速进入你的环境,以及使得每次沙箱启动或推出的时候更容易执行定制的命令。

https://virtualenv.pypa.io//en/latest/ 中找到virtualenv

http://virtualenvwrapper.readthedocs.io/en/latest/ 中找到virtualenvwrapper

参加会议

python社区是很喜欢聚集在一起的一个社区。每年举行十多次会议,很多重要的项目也举行年度会议。

会议对每个人都很有用,有专门针对初学者,有经验的开发者演讲。 如果学有余力可以为开源项目做出贡献。

http://pycon.org/ 给出了会议的列表,也可以搜索喜爱的框架的相关会议。此外在框架的Freenode频道中,询问关于即将举行的会议信息。

并不是每个活动都需要你拔山涉水。每年的一月份和七月份,python社区举办一个叫做Julython的活动。

http://www.julython.org/

使用Linux

每个开发者都在某个时刻接触到Linux操作系统。有很多种Linux系统,但它们都是开源的,并且大多数是免费的。它们甚至可以和你的计算机上当前的操作系统一起运行。Linux一些优点如下:

1.它很适合编程。安装一个新的库很容易,通常只需要在命令行输入一条命令。

2.不仅操作系统是免费的,还有数以百计的免费(且高质量的)工具可以使用。

3.有很多不同的Linux版本。针对企业环境、教师、孩子、喜欢定制的人们以及喜欢稳定的、立即可用的体验的人们,都要有不同的发布版本。

4.由于很多开发者运行某个Linux版本,所以他们已经编写好了一些文档。你总是可以找到Linux的安装说明,但是,针对Windows的同样水准的安装说明则很难找到。

5.如果想要进行Web开发,总是会接触到服务器。而这个服务器。几乎总是基于Linux的操作系统。

有数十个Linux的不同发布版本可用,但是,建议新用户尝试一种叫做Ubuntu的版本。甚至有一个在线教程,引导你了解Ubuntu的功能。

可以在https://www.ubuntu.com/desktop/take-the-tour找到这个教程。

为python做出贡献

很多开发者认为需要十年甚至更多的经验,然后才能向python社区回馈贡献。事实并非如此。Python 总是在寻找贡献者。

要找到python中的当前Bug的列表,请访问http://bugs.python.org/ 。有些BUG现在可能太高级了,但是,也有一些比较容易的BUG,几乎任何人都可以修复它。

要了解更多关于python贡献的更多内容,请访问

https://docs.python.org/devguide/

为其他的项目贡献

学习另一种语言

一旦学习了一种语言,再学习另一种新的语言变得容易很多。对于每一种新的语言,你通常需要很少的时间就可以充分掌握它。
           

展望python3

python3进展迅速,尽管python2.7还将存在很长一段时间,但了解一下新版本的变化是一个不错的主意。尽管迁移到一个新的主要发布版本令人惊讶,但很多工具都可以帮助你快速上手,并且更好的是,它有助于将你想要的任何代码迁移到python3

python的”what’ s New页面 https://docs.python.org/3/whatsnew/3.0.html 是一个不错的开始。可以了解到python删除了什么内容,更改了什么内容,以及添加了什么内容。

如果要将某些代码迁移到python3,应该阅读位于 https://docs.python.org/dev/howto/pyporting.html的操作指南。在哪里,可以确定如何使用某种自动化工具或者需要采用一种更为细致的方法。

上一篇: 下一步