话说万张高楼平地起,不会走之前先学会爬吧。尤其对于我等的小菜同学来说更是这样,不管怎么先code first吧,等我等小菜们翅膀硬了才test first吧。
1, 怎么运行python?
先到python.org下载python的安装文件才说吧,兄弟你慢点是org不是com小心额,当然还有中文的下载链接。。。!然后你就可以next,next,finish了,当让你知道这是windows平台(当然activepython也很优秀)。在Linux下面可能早已经为你准备好了,我用的是Ubuntu10.04.3 默人的是2.6暂时够用了。如果心里觉得要最新那就去下载源码,cmms吧(./configuration, make ,make install)。如果都很顺利,那就可以在我indows下面打开python的IDLE了,在linux比较简单直接上命令就好了,python。(如果不行,再纠结下path吧)
2. 有了环境,那就开始code吧。
(1) 在解释的命令行环境中,尽情发挥吧。
(2) 当然1,不能满足所有我们的需求一但想写点像样的程序还是保存文件吧。 写好之后保存,filename.py,然后在命令行中cd到你的python的源文件中, python filename.py,可爱的python就开始工作了。
(3) 脚本的方式,就是与我们的环境绑定。
指定python环境变量中python的位置,如ubunut中,python=>/usr/bin/python, windows下面就是:c:python2.7python.exe了,编辑python的源文件在文件的开始绑定python命令。
在文件的开始 #!/usr/bin/python, 或者#!c:python2.7python.exe,然后保存源文件(可以不用.py结尾了!),
如果在linux中还有修改源文件的权限,sudo chmod 755 filename 然后./filename就可以work了!
3. python模块
当我们或者别人完成了一组功能,我们可以相互share。怎么去调用别人的模块呢?比如,hello_world.py(保存在/home
/tom/python/hello_world.py)
- title = "I love python"
假如我们想想使用title这个变量:
打开python的解释器:
- >>> import sys
- >>> sys.path
- ['', '/usr/local/lib/python2.6/dist-packages/web.py-0.36-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/virtualenv-1.7-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/tornado-2.1.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/PasteScript-1.7.5-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/PasteDeploy-1.5.0-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Paste-1.7.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/CherryPy-3.2.2-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode', '/usr/local/lib/python2.6/dist-packages']
我们查看了python系统加载模块的路径,但是很显然并没有hello_world.py的文件路径,这样肯定会找不到hello_world.py,所以我们要把hello_world的路径添加进去,只要:
- sys.path.append('/home/tom/python')
然后我们就可以导入python的模块了,
- import hello_world
- print hello_world.title
- from hello_world import title
- print title
两种方式。
当模块文件第一次被导入python的session中的时候,python解释器会完整的执行一边模块中的代码,如果你再次导入相同的模块在python的交互环境中,python不会再执行,所有在这期间改变模块的代码,python的交互环境中仍是老的代码。 如果需要加载新的代码需要使用reload
如:
- reload(hello_world)