可以通过 pydoc <命令>
来查看文档获取帮助。例如,想了解关于文件的相关知识,可以在终端中输入:
1 | $ pydoc file |
对于同时安装了Python2和Python3的机器,可以通过pydoc2
和pydoc3
命令来获取指定版本的文档。
exec
函数用于执行python语句,不过这些语句储存在字符串或文件中而不是程序自身中。
例如,我们可以在运行时产生一个包含python代码的字符串,然后利用exec执行之。
1 | exec('print("Hello World")') |
与之类似,eval
函数用于执行合法的存储在字符串中的python表达式。下面是一个简单的例子。
1 | eval('2*3') |
repr
函数用于获得对象的正规字符串表示。有趣的是多数时候eval(repr(object))
等于object
。
1 | i = [] |
基本上,repr
函数用来获得一个对象的可打印形式。你可以通过在类中定义__repr__
方法控制repr
的返回值。
直接用import
命令也可以执行一个脚本,但__name__
将不是__main__
。所以如果该脚本涉及到这类检查的话可能会出问题。下面针对python2和python3有不同的解决方法:
在python2中,可以使用下面的形式
1 | >> execfile("script.py", global_vars, local_vars) |
Python3并没有execfile
命令,替代的命令是:
1 | >>> exec(open("./filename").read()) |
另外一个方案是自己定义一个execfile
函数:
1 | >> def execfile(afile, globalz=None, localz=None): |
这里有更多的讨论。
如果使用的是IPython,它提供了很多“魔法”命令,包括
1 | run script.py |
可以执行一个脚本。
学习程序设计最好的办法就是编写阅读大量代码:
对于某些种类的问题Python Cookbook提供了许多解决问题的珍贵技巧和诀窍。此网是每个python用户都必读的。
逻辑上看完本书应该读读 Mark Pilgrim 那超棒的 Dive Into Python 一书http://www.diveintopython.org/,你可以在线完整阅读。
此书详细的探索了诸如正则表达式,XML处理,web服务,单元测试等内容。
其它有用的资源:
如果你想了解python的最新动态,请关注Official Python Planet http://planet.python.org 和Unofficial Python Planet http://www.planetpython.org.
python包索引(Python Package Index)拥有数量巨大的开源库,你可以在自己的程序中使用它们。http://pypi.python.org/pypi
安装和使用这些库,你可以使用Philip J. Eby的优秀的 EasyInstall 工具。
http://peak.telecommunity.com/DevCenter/EasyInstall#using-easy-install
如果你想使用python创建自己的图形程序。那么可以使用已绑定到python上的GUI(图形用户界面)库。
绑定允许你在自己的程序中使用这些库,而库本身是用C/C++或其它语言编写的。
使用python你可以选择很多种GUI库:
这是绑定到python的Qt工具包,它是创建KDE的基石。
Qt非常易用,功能又很强大,尤其是仰仗于它的Qt Designer与出色的Qt文档。
如果你在创建开源软件(GPL’ed)则PyQt是免费的, 相反创建私营闭源软件的用户就要掏银子买它了。
从Qt4.5开始你同样可以用它创建非GPL软件。
作为入门可以阅读PyQt教程http://zetcode.com/tutorials/pyqt4/或者PyQt book http://www.qtrac.eu/pyqtbook.html.
GTK+工具包的python绑定。它是GNOME的基础。
GTK+含有很多奇怪的用法,不过一旦熟悉它你就能够快速创建GUI应用了。其中Glade图形界面设计器是必不可少的。
GTK+的文档仍然完善中。GTK+在linux上工作的很好,但其windows实现仍未完成。
另外使用GTK+你既可以创建开源也可以创建私营软件。
入门可以阅读PyGTK教程http://www.pygtk.org/tutorial.html
这是绑定到python的wxWidgets工具包。
wxPython有一定的学习曲线。但是具有很强的可移植性,可以运行在linux,windows,Mac甚至是嵌入式平台之上。
wxPython拥有很多可用的IDE,其中包括GUI设计器和诸如SPE(Stani的python编辑器)http://spe.pycs.net和
wxGladehttp://wxglade.sourceforge.net/的开发工具。
入门可以阅读wxPython教程http://zetcode.com/wxpython/
这是现存最老的GUI工具包之一。如果你用过IDLE,它就是一个使用Tkinter编写的程序。
Tkinter没有什么不错的视觉外观,因为它是个守旧派。
Tkinter是可移植的能够运行在Linux/Unix和Windows上。更重要的Tkinter是标准python发布版的一部分。
入门可以阅读Tkinter教程http://www.pythonware.com/library/tkinter/troduction/。
更多的GUI库选择,见python官网的GuiProgramming维基页面http://wiki.python.org/moin/GuiProgramming
一个程序设计语言通常包含两部分 —— 语言和软件。语言指出如何编写程序。而软件用来运行我们的程序。
我们一直在用CPython运行我们的程序,之所以称为CPython是因为它是用C语言实现的并且为标准python解释器。
另外还有其它的软件也可以运行python程序:
以上的每个实现都有自己的擅长领域。