介绍

我们现在来看看如何在Python中运行传统的”Hello world”程序。这会教你如何写、保存以及运行Python程序。

有两种办法来运行您的Python程序——使用交互式的解释器提示符或者源代码文件。我们现在来分别看一看这两种方法。

使用解释器提示符

在命令提示符中输入python来打开解释器。

那些在GNU/Linux与BSD上同时安装了Python 3.x与Python 2.x的用户可能需要输入python3

而对于Windows用户而言,如果您在PATH环境变量里正确设置的话,也可以在命令行界面打开解释器。
要在Windws里打开命令行,在开始菜单中点击”运行”,在弹出的对话框中输入cmd并按回车。现在在DOS提示符下,你可以随时开始使用python。

如果您使用IDLE,依次点击开始菜单 → 程序Python 3.0IDLE (Python GUI)

现在请输入print('Hello World')并按下回车键。您应该能看到输入单词Hello World

   $ python
Python 3.0b2 (r30b2:65106, Jul 18 2008, 18:44:17) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello World')
Hello World
>>>

您可以注意到这里Python立刻返回给输出内容! 刚刚您输入的是一个简单的Python 语句。我们(毫无悬念地)使用print来输出提供给它的任何值。这里,我们输入了文字Hello World,所以它被提示符输出到荧幕上。

如何退出解释器提示符
如何您使用IDLE或是在GNU/Linux或BSD的shell上,您可以按下键盘上的ctrl-d键或输入exit()后按下回车(注意:请别忘记那对括号)来退出解释器。如果您使用Windows命令行提示符,请按下ctrl-z并按下回车。

选择文本编辑器

在我们讲到用源代码文件写Python程序前,我们需要选择一个编辑器来编辑它们。作出这样的选择十分有必要。您不得不如同选择一辆车那样慎重地选择编辑器。一个好的编辑器能够帮助您更容易的写Python程序,让您感到旅途愉快,还能让您更快更安全地到达目的地(完成目标)。

其中最基本的要求是 语法高亮, 这让您Python程序的不同部分使用不同的色彩,这样您能够”看见”他们明白他们如何运作。

如果您使用Windows,那么我建议您使用IDLE。IDEL能够提供语法高亮,并且有许多其他功能例如允许您在其中运行程序。必须提醒的是, 不要使用记事本——这实在不是一个明智的选择,因为它无法提供语法高亮,此外尤其重要的是它不支持文字缩进——在后面会提到它的重要性。好的编辑器如IDLE(VIM也是)能够自动的帮助完成它。

如果您使用GNU/Linux或FreeBSD,您会有许多选择。如果正要开始做编程,您可能愿意尝试geany。它具备图形用户界面以及编译、运行程序的按钮,让您更省心。

如果您是一位富有经验的程序员,那么想必您一定在使用Vim或是Emacs。自不必多说,它们是最强大的编辑器,能够在您写Python程序时帮上更多。我个人使用Vim最多。而如果您是个刚起步的程序员,您也可以试试我最喜欢的编辑器之一的Kate。假使您正打算花时间如何使用Vim或Emacs,我强烈推荐您学会其中之一,它必能使您受益匪浅。

在这本书中,我们将使用 IDLE作为编辑器和集成开发环境。IDLE在Windws与Mac OS X的Python安装包中默认已安装。同时,在GNU/Linux与BSD的各个仓库中也有对应的包。

我们会在下一节中浏览IDLE的使用方法。更多的细节,请参考IDLE文档

如果您仍坚持想探寻其他编辑器选择,请看Python编辑器列表并作出选择。您也可以选择IDE(集成开发环境)。请看支持Python的IDE列表 以参考更多信息。一旦正式开始写大型Python程序,IDE确实有非常大的帮助。

请允许我再重复一遍,请选择一个合适的编辑器——它能让Python程序编写更容易、更有乐趣。

致Vim用户
这里有一篇不错的介绍如何把Vim打造成强大的Python ID,John M Anderson著.
致Emacs用户
这里也有一篇不错的介绍如何把Emacs打造曾强大的Python IDE,Ryan McGuire著.

使用源代码

现在让我回到编写程序。在学习任何一个新语言前,都有这样一个写『Hello World』的程序——只是在运行时显示『Hello World』. 如Simon Cozens [1]所说,这是“向编程的神念咒语来帮助您更好的学习这项语言。”

打开您选择的编辑器,输入下面的程序并将之保存为helloworld.py

如果您在使用IDLE,点击文件新窗口,接着输入下列程序。再点击文件保存

#!/usr/bin/python
#Filename: helloworld.py print('Hello World')

打开shell(GNU Linux终端或DOS提示符)来运行程序,输入命令python helloworld.py。(在Windows下,您耶可以在文件夹内找到程序,然后在命令行输入python后把该文件拖拽上去)。这会在python后自动添加文件路径。

如果您使用IDLE,使用菜单运行运行模块 或者使用键盘快捷键F5

输出如下

   $ python helloworld.py
Hello World

如果您也看到如上的输出,那么恭喜!——您已经成功运行了第一个Python程序。

如果您遇到错误,请完全按照以上程序的代码重新输入程序。请注意Python对大小写敏感,例如printPrint是不同的——请注意前者的小写p和后者的大写P。另外,请确保每一行的第一个字符前面没有空格或者制表符——我们将在后面解释重要性。

关于shebang,这里有一点需要注意。如果您是Windows用户,那么您可能需要改成如下

#!C:\Python31\python.exe

另外GNU/Linux和Unix用户要改成如下

#!/usr/local/bin/python3.1

标准的是这样

#!/usr/bin/env python

然而我最近在一家提供远程主机服务那里注册,使得我必须在python脚本里”写死”正确的路径。

它如何工作

让我们先来看程序的前两行。这些被称为『注释』——任何在#符号右边的都是注释,同时也对程序的阅读者来说非常重要。

除了在第一行外,Python不使用任何注释中的内容。它被称作shebang——源文件的开头是#!紧跟着程序的路径,这告诉您的GNU/Linux或Unix系统在执行该程序时应该使用指定的解释器。这将会在下面一节中更详细的解释。请注意您总是可以通过显示指定各平台上调用的解释器来执行程序。

重要
在您的程序中适当地使用注释来解释程序中重要地细节——这对程序的阅读者来说很有用,使得他们容易地理解程序做些什么。记住,那个人很可能是6个月后的您自己!

在注释后面是一段Python语句。这里我们调用了print函数来显示文字'Hello World'。我们会在后面的章节学习有关函数,现在您只需要了解不论在括号内填写什么,都会被打印出来。以上面的例子来说,'Hello World'表示一个字符串——不用担心,我们将会在后面再详细介绍这些术语。

可执行的Python程序

这部分像程序的第一行那样,可能对除了Windows用户以外的GNU/Linux或者Unix用户来说更有兴趣。首先,我们需要使用chmod命令来赋予程序执行的权限,接着执行源程序。

   $ chmod a+x helloworld.py
$ ./helloworld.py
Hello World

这里chmod命令通过给予系统中全部用户(all)执行(exelute)权限,来改变(chage)文件的模式(mode)。接着,我们直接指定源文件的运行路径来执行。使用.来表示程序位于当前目录。

更有趣的是,您可以将文件重命名为helloworld,然后使用./helloworld执行;由于系统通过文件中第一行知道该使用哪个解释器来执行它,所以程序依旧有效。

如果您不知道Python程序的位置呢?那么,您可以使用GNU/Linux或Unix系统中的特殊程序env,只要把程序中的第一行改成

#!/usr/bin/env python

env会找到Python解释器并执行程序。

到这里,我们只要知道程序的确切位置就可以运行它。那么如何在任何位置运行它呢?您可以通过把它加入到PATH环境变量中的路径里去来达到效果。不管您何时运行程序,系统会在PATH环境变量里设置的路径中寻找并运行之。我们只需要把上面的程序复制到PATH中列出的目录中任何一个中去即可。

   $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld
$ helloworld
Hello World

我们可以使用echo命令与在变量前加上$符号来显示PATH的值。这里看到/home/swaroop/bin是PATH变量中的一个目录,其中swaroop是我在系统中的用户名。通常在您的系统中也有类似的目录。顺带一提,您可以在PATH中加入自己的目录——通过执行PATH=$PATH:/home/swaroop/mydir,其中'/home/swaroop/mydir'是我想加入PATH变量的路径。

在您想任何时间任何地点执行自己写的脚本时,这个办法非常有用。就如同在GNU/Linux或者DOS提示符中创建cd和其他命令那样。

警告
对Python来说,程序和脚本或者软件指的都是同一件东西。

获取帮助

如果您需要Python中任何函数或语句的快速帮助信息,可以使用内置的help功能。在解释器提示符下显得尤其有帮助。例如,执行help(print)——会在屏幕上显示有关输出信息的print函数的相关帮助。

提示
q来退出帮助

类似地,您可以获取有关Python的几乎一切的信息。使用help()来查看help自身的相关信息!

如果您想了解操作语句return,您只需把它们放进引号,如help('return'),这样Python不会混淆我们要做的目的。

总结

现在您应该轻松地能够写、保存和执行Python程序。您是一位Python用户,那么我们来看看更多的Python概念吧


参考:

  1. The author of the amazing ‘Beginning Perl’ book

简明Python3教程 5.第一步的更多相关文章

  1. 简明Python3教程(A Byte of Python 3)

    关键字:[A Byte of Python v1.92(for Python 3.0)] [A Byte of Python3] 简明Python教程 Python教程 简明Python3教程  简明 ...

  2. 简明Python3教程 18.下一步是什么

    如果你有认真通读本书之前的内容并且实践其中包含的大量例程,那么你现在一定可以熟练使用python了. 同时你可能也编写了一些程序用于验证python特性并提高你的python技能.如果还没有这样做的话 ...

  3. 简明Python3教程 16.标准库

    简介 python标准库作为python标准安装的一部分,其自身包含数量庞大的实用模块, 因此熟悉python标准库非常重要,因为很多问题都能利用python标准库快速解决. 下面我们将研究标准库中的 ...

  4. 简明Python3教程 9.函数

    简介 函数是程序的可复用片段,允许你为语句块赋予名字之后在程序的任何地方运行它们任意次,这称做函数调用. 我们已经使用过一些内建函数,例如len和range等. 函数也许是任何有意义的软件中最重要的构 ...

  5. 简明Python3教程 6.基础

    你肯定不满足于只打印"Hello World"吧? 你想要的更多 - 你希望得到一些输入,操纵它后再从中得到某些东西.我们可以使用python中的常量和变量实现这些功能. 字面常量 ...

  6. github入门教程:第一步

    [git教程] 以前在网上找过一些,见 http://www.wojilu.com/Forum1/Topic/702  我自己会一边学,一边写教程,过程中有不明白的,会跟大家请教交流.   ----- ...

  7. 简明Python3教程 13.面向对象编程

    简介 (注: OOP代表面向对象编程,OO代表面向对象,以后全部使用英文缩写) 迄今为止我们编写的所有程序都是围绕函数创建的,函数即操纵数据的语句块.这称作面向过程编程. 除此之外还有另一种组织程序的 ...

  8. 简明Python3教程 12.问题解决

    我们已经探究了python语言的方方面面,现在我们将通过设计编写一个有用的程序将这些内容有机的结合起来. 主要目标是让大家有能力独自编写程序. 问题 我们要解决的问题是”希望编写一个程序,用于创建所有 ...

  9. 简明Python3教程 11.数据结构

    简介 数据结构基本上就是 – 可以将一些数据结合到一起的结构,换言之用于存储一组相关的数据. python拥有4种内建数据结构 – 列表,元组(tuple),字典和集合. 我们将看到如何它们,它们又是 ...

随机推荐

  1. js中退出语句break,continue和return 比较 (转)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  2. jquery 无刷新上传的小function

    function zll_up(click_id,up_url,text_id,show_id){ this.create = function(){} //当点击指定元素时,创建iframe for ...

  3. php实现求对称二叉树(先写思路,谋而后动)

    php实现求对称二叉树(先写思路,谋而后动) 一.总结 1.先写思路,谋而后动 二.php实现求对称二叉树 题目描述: 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的 ...

  4. Linux 常用性能工具

    Linux 常用性能工具简介. 一.wget 文件下载 使用wget下载单个文件:wget URL 下载并以不同的文件名保存:wget -O wordpress.zip URL wget限速下载:wg ...

  5. 【35.43%】【hdu 4347】The Closest M Points

    Time Limit: 16000/8000 MS (Java/Others)    Memory Limit: 98304/98304 K (Java/Others) Total Submissio ...

  6. [Git] How to rename your remote branch

    Rename your local foo branch with bar: git branch -m foo bar Remember this will add the new branch w ...

  7. Android JNI编程(二)——C语言的基本数据类型,输出函数,输入函数

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 在学习C语言数据类型之前,我们先来回顾一下Java中的基本数据类型和其特点 ...

  8. 深度学习代码注解(一)—— mnistdeepauto

    clear all close all %% 1:参数设置 maxepoch=10; %In the Science paper we use maxepoch=50, but it works ju ...

  9. Linux下使用Python的Tkinter库出现的No module named _tkinter问题

    这是由于python的版本没有包含tkinter的模块,只需要把tk的package安装就可以了. 一般在linux才出现,windows版本一般已经包含了tkinter模块.

  10. Double prefix overrides to provide 16-bit operand size in a 32/64 operating mode

    A processor supports an operating mode in which the default address size is greater than 32 bits and ...