本节书摘来自异步社区《Python地理数据处理》一书中的第2章,第2.1节,作者: 【美】Chris Garrard(加勒德) 更多章节内容可以访问云栖社区“异步社区”公众号查看。
第2章 Python基础
本章内容
- Python解释器的使用与脚本的编写
- Python核心数据类型的使用
- 控制代码的执行顺序
可以用桌面GIS软件(如QGIS)做许多事情,但是如果你长期和空间数据打交道,就会不可避免地想做一些桌面GIS软件办不到的事。假如你知道如何编程,并且足够聪明,就可以写出准确表达自己需求的代码。另一个常见的场景是需要自动化处理重复性的任务,从而代替一遍又一遍鼠标单击式的方法。编写代码和单击式方法相比,不仅能带来更多乐趣和智力上的刺激,当涉及到重复性的任务时,它也更有效。虽然你并不缺乏可以用于学习和工作的计算机语言,但因为Python用于许多GIS软件包,包括QGIS和ArcGIS,对于处理空间数据而言,Python的确是一门优秀的语言。它也很强大,与此同时,它还是一门相对容易学习的语言,因此假如你刚开始学习编程,它会是一个很好的选择。
使用Python的另一个原因在于它是一门解释性语言,所以用Python编写的程序可以运行在任何一台带有解释器的计算机上,解释器存在于任何可能会使用到的操作系统上。运行一个Python脚本,需要脚本和解释器,它不同于运行.exe文件,你只需要一个文件。但如果有一个.exe文件,就只能运行在Windows操作系统下,如果想在Mac或Linux上运行它,就会令人很失望。然而,假如有一个Python脚本,就可以在任何有解释器的平台上运行自己的程序,所以不再局限于单一的操作系统。
2.1 编写和执行代码
解释性语言的另一个优势是可以交互地使用它们。对于尝试和学习语言者来说,这很棒,因为输入一行代码,就可以立即看到结果。可以在终端窗口里运行Python解释器,但使用IDLE可能会更容易,IDLE是Python安装完成后提供的一个简单开发环境。IDLE中存在两种不同类型的窗口,即shell窗口和编辑窗口。shell是交互式窗口,可以键入Python代码并立即获得结果。如果看到>>>提示,就知道这是互动的窗口,如图2.1所示。可以在提示符后键入代码并按回车键执行。本书中的许多例子都可以按照这种方式运行。对运行超过几行的代码而言,这种方式效率低下,而且它还不保存代码供以后使用。这时候,编辑窗口就能发挥作用。使用IDLE的文件菜单按钮打开新窗口,它将创建一个空文件。可以在空文件里编写代码,在使用Run菜单按钮执行脚本之前,需要将文件保存为.py扩展名的文件,脚本运行的结果将在交互窗口中显示。关于输出,在本书许多互动的例子中,我会键入变量名以查看变量包含的内容,但如果你直接从脚本中运行代码,就不会有输出。取而代之,需要使用print命令显式地告诉它将信息发送到输出窗口。
https://yqfile.alicdn.com/9a23604b51314ae407ede000632382ccd20535c7.png" >
如图2.1所示,键入字符串'hello world!',输出带彩色的结果。语法高亮显示非常有用,因为它可以帮助你一目了然地区分关键字、内置函数、字符串和错误消息。如果有些东西没有按照你所期望的方式改变颜色,它还可以帮助你找到拼写错误。IDLE另一个有用的地方是Tab命令补全。如果你开始键入变量或函数名,然后按Tab键,将弹出选项列表,如图2.2所示。此时可以继续键入,它会缩小搜索范围,你也可以使用箭头键滚动列表。当你看到想要的词被高亮显示时,再按一次Tab键,这个词就会出现在屏幕上。因为Python脚本是纯文本文件,如果你不想用,也可不使用IDLE。你可以在任何你喜欢的文本编辑器中编写脚本。许多编辑器都很容易配置,所以你可以在不脱离编辑器的情况下直接运行Python脚本。阅读你最喜欢的编辑器文档,学习如何做这件事。专门为Python代码而生的程序包有Spyder、PyCharm、Wing IDE和PyScripter。 每个人都有自己最喜欢的开发环境,而在找到自己喜欢的之前,你可能需要尝试不同的开发环境。