《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础

简介:

本节书摘来自异步社区《基于ArcGIS的Python编程秘笈(第2版)》一书中的第1章,第1.1节,作者: 【美】Eric Pimpler(派普勒) 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 面向ArcGIS的Python语言基础

同其他编程语言一样,Python也支持多种类型的程序架构。本章主要介绍Python的基本语言架构。首先,介绍如何创建新的Python脚本及编辑已有的脚本;其次,介绍Python语言的特点,如添加注释、创建变量并赋值、创建内置变量等,以使Python的代码更加简单明了。

然后,介绍Python语言提供的各种内置数据类型,如字符串、数字、列表和字典等。类和对象是Python等面向对象编程语言的基本概念,在使用ArcGIS编写地理处理脚本时会经常用到它们,所以本章也介绍了这些复杂的数据类型。

另外,本章还介绍了一些语句的概念,包括条件语句、循环语句和with语句等。使用Python编写ArcGIS地理处理脚本时,常常用with语句打开cursor(游标)来循环遍历代码块。cursor对象来自于ArcPy的数据访问模块,它有插入、搜索和更新3种数据处理的方式。

最后,介绍如何访问Python语言的其他功能模块。

学完本章,读者将会掌握以下内容。

  • 在IDLE中创建和编辑Python脚本的方法。
  • 在ArcGIS Python窗口中创建和编辑脚本的方法。
  • Python的语言特点。
  • 注释与数据变量。
  • 内置数据类型(字符串、数字、列表和字典等)。
  • 复杂数据结构。
  • 循环结构。
  • 其他Python功能。

1.1 使用IDLE进行Python脚本开发

正如前言提及的,在桌面ArcGIS的安装过程中,会同时安装Python和IDLE。IDLE是编写Python程序代码的集成开发环境,本书中的很多代码都是在IDLE或桌面ArcGIS的Python窗口中编写的。随着编程能力的不断提高,读者可以选择IDLE以外的其他开发环境,如PyScripter、Wingware、Komodo等进行代码的编写,具体选择哪种开发环境依个人喜好而定。

1.1.1 Python Shell窗口
单击“Start | AllPrograms | ArcGIS | Python 2.7 | IDLE”,可以启动Python的IDLE开发环境。需要注意的是,在ArcGIS的安装过程中一同安装的Python版本,取决于ArcGIS的版本。如ArcGIS 10.3使用Python 2.7,而ArcGIS 10.0则使用Python 2.6。

Python Shell窗口如图1-1所示。


f02efae31b074a77c5a825e64bf55e92b1698da1

Python Shell窗口用来显示输出结果和脚本的错误信息。初学者常常误以为地理处理脚本也写在Shell窗口中,实际上需要创建一个单独的代码窗口来编写脚本,详见本书1.1.2节。

虽然一般不在Shell窗口中编写完整的脚本,但是可以以交互的方式编写代码并获得及时的反馈。ArcGIS提供了一个内置的Python Shell窗口,使用方法与之类似,详见本书1.2节。

1.1.2 Python脚本窗口
在Python Shell窗口中单击“File | New Window”创建一个新的代码窗口,可以在这个独立的窗口中编写脚本。该窗口称为Python脚本窗口,如图1-2所示。


<a href=https://yqfile.alicdn.com/c73a58fb28bae66795ca5010513ace99844729b6.png" >

Python的脚本代码通常在这个代码窗口中编写,每个脚本都需要保存到本地或网络驱动器中。默认情况下,脚本保存的文件扩展名是“.py”。

1.1.3 编辑已有的Python脚本
打开已有的Python脚本有两种方式:一是在Python Shell窗口中单击“File | Open”,选择要打开的脚本文件;二是在Windows资源管理器中右击文件,单击“Edit with IDLE”,如图1-3所示。通过这两种方法中的任何一种即可打开一个新的脚本窗口,同时脚本会加载在脚本编辑器中。


<a href=https://yqfile.alicdn.com/a0acb66b84fc94081f37c42d96d4b77979c75c97.png" >

在本例中,IDLE加载了ListFeatureClasses.py脚本文件,其对应的Python脚本窗口中的代码如图1-4所示。


32d976eb0c383c1948b0ad3fb2b6b058b73ed6e7

脚本窗口打开后,可以在其中写入或编辑代码,还可以在这个窗口中进行基本的脚本调试,调试是一个识别和修正代码错误的过程。

1.1.4 在IDLE中运行脚本
当写好一个地理处理脚本或者打开了一个已有的脚本之后,就可以在Python脚本窗口中执行代码。IDLE提供了语法检查功能,在运行脚本之前,可单击“Run | Check Module”来检查代码的语法错误。

如果有语法错误,一般情况下会跳转到Shell窗口并在Shell窗口中显示错误的详细信息,而有些语法错误不会跳转到Shell窗口,此时会弹出“Syntax error”对话框并在脚本窗口中高亮显示错误的位置,具体会出现哪种情况取决于语法错误的类型。如果没有语法错误,将不做提示。虽然IDLE界面可以检查语法错误,但是无法检查代码的逻辑错误,也没有像其他开发环境(如PyScripter、Wingware等)一样可以提供更高级的调试工具。

如果代码中不存在语法错误,单击“Run | Run Module”运行脚本,如图1-5所示。


5a8053bea268cae4902739c3560e4711cef48771

运行脚本后,print 语句的输出结果、错误消息和系统消息都会在Python Shell窗口中显示。print语句在Shell窗口中只输出文本,它经常用于更新脚本的运行状态或显示代码的调试信息。

相关文章
|
1天前
|
存储 人工智能 Java
Python编程入门:从基础到实战
【10月更文挑战第4天】本文旨在为初学者提供一个全面而深入的Python编程学习路径。我们将从Python的基本语法和概念开始,然后逐步深入到更复杂的主题,如数据结构、面向对象编程和异常处理等。最后,我们将通过一些实际的项目案例,帮助读者将理论知识应用到实践中去。无论你是编程新手,还是有一定经验的开发者,都可以在这篇文章中找到适合自己的学习内容。让我们一起开启Python编程的学习之旅吧!
|
1天前
|
数据可视化 Python
Python编程之数据可视化入门
【10月更文挑战第4天】在数字时代的洪流中,数据如同星辰般璀璨,而将它们绘制成图表,便是我们探索宇宙的方式。本文将带你启航,用Python这艘航船,驶向数据可视化的奥秘。我们将从安装必要的工具包开始,逐步深入到数据的呈现,最后通过代码示例点亮知识的灯塔,指引你在数据海洋中航行。让我们握紧舵盘,乘风破浪,揭开数据背后的故事吧!
|
2天前
|
开发者 Python
Python 语法糖:让编程更简单
Python 语法糖:让编程更简单
14 3
|
2天前
|
开发者 Python
Python 语法糖:让编程更简单(续)
Python 语法糖:让编程更简单(续)
12 3
|
2天前
|
人工智能 数据挖掘 程序员
Python 编程入门:打造你的第一个程序
【10月更文挑战第3天】编程,这个看似高深莫测的技能,实际上就像学骑自行车一样,一旦掌握,便能开启全新的世界。本文将带领初学者步入Python编程的殿堂,从基础语法到编写实用程序,一步步解锁编程的乐趣。
|
2天前
|
小程序 Python
利用Python编程提取身份证的信息
利用Python编程提取身份证的信息
10 2
|
2天前
|
数据采集 前端开发 NoSQL
Python编程异步爬虫实战案例
Python编程异步爬虫实战案例
12 2
|
2天前
|
Python
Python 语法糖:让编程更简单(续二)
Python 语法糖:让编程更简单(续二)
13 1
|
2天前
|
存储 开发者 Python
Python 编程入门:从基础到实战
【10月更文挑战第3天】本文将引导你进入 Python 编程的奇妙世界,从零基础开始,逐步深入到编程实践。我们将一起探索 Python 的基本语法、数据结构、函数和模块的使用,以及面向对象编程的概念。通过实际案例,你将学会如何应用这些知识解决实际问题,并最终能够独立编写简单的 Python 程序。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供一个坚实的起点。
8 1
|
3天前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
22 0
【免费分享编程笔记】Python学习笔记(二)