gis python 要素赋序列值_《基于ArcGIS的Python编程秘笈(第2版)》——1.3 Python语言基础-阿里云开发者社区...

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

1.3 Python语言基础

了解Python语言的基本架构,有助于读者更有效地编写ArcGIS地理处理脚本。尽管Python语言相对于其他编程语言来说更易学,但要想真正掌握它,也需要花一定的时间来学习和练习。本节将介绍如何创建变量及给变量赋值,可赋值给变量的数据类型,如何使用不同类型的语句和对象,如何读写文件和导入Python第三方模块等内容。

1.3.1 代码注释

编写Python脚本时,一般都需要遵循约定俗成的程序架构。通常在每个脚本的开头是说明部分,用来说明脚本的名称、作者和处理过程的梗概,以帮助程序员快速了解脚本的细节和用途。在Python中,说明部分通常使用注释来实现。注释是脚本中以#或##开头的代码行,#或##后跟随说明代码的文字,用来解释脚本中某些代码或代码块的功能。注释只起到说明代码的作用,在代码运行时Python解释器并不执行它。如图1-11所示,注释是以#为前缀的代码行。要尽量在整个脚本的重要部分添加注释,以使程序更易读,这对更新脚本非常有用。

efb734187f39a283322ab4e17d71c433.png

1.3.2 模块导入

尽管Python语言有很多内置的函数,能够完成不同的功能,但仍然需要经常访问存储在外部模块中的具有特定功能的函数集以完成特定的功能。例如,math模块存储与数值处理有关的特定函数,R模块提供与统计分析有关的函数等。一般说来,函数是一个已命名的代码块,执行时只需调用其名称。模块则是由一系列函数构成的,它可以通过import语句导入。import语句通常是脚本文件中的第1行代码(不包括注释)。在编写ArcGIS地理处理脚本时,需要导入arcpy模块,该模块是访问ArcGIS提供的GIS工具和函数的Python工具包。下面的代码展示了如何导入arcpy模块和os模块,其中os模块提供了与底层操作系统进行交互操作的接口。

import arcpy

import os

1.3.3 变量

一般来说,变量可视为计算机内存中的一块区域,用来存储脚本运行过程中的值。在Python中进行变量定义时,并不需要预先声明变量的类型,只需直接命名和赋值,通过引用变量名就可以在脚本中任意位置访问赋给变量的值。例如,创建一个包含要素类名称的变量,然后通过缓冲区工具引用该变量可以创建一个新的输出数据集。在创建一个变量时只需指定它的名称,通过赋值运算符(=)就可以实现变量的赋值,如下所示。

fcParcels = "Parcels"

fcStreets = "Streets"

表1-1列出了以上代码示例的变量名和赋给变量的值。

b0b828044a169a55fa3f2e4f68f757f3.png

创建变量必须遵循如下命名规则。

变量名由字母、数字或下划线组成。

第1个字符必须是字母或下划线(最好避免使用下划线,因为首字符为下划线的变量在Python中有特殊的含义)。

不能使用除下划线以外的其他特殊字符。

不允许使用Python关键字和空格。

命名变量时必须避免使用Python语言的关键字,如class、if、for、while等。在Python语句中,这些关键字通常会以不同的颜色突出显示。

下面是一些合法的变量名。

featureClassParcel

fieldPopulation

field2

ssn

my_name

下面是一些非法的变量名。

class(Python关键字)

return(Python关键字)

$featureClass(非法字符,必须以字母或下划线开头)

2fields(必须以字母或下划线开头)

parcels&Streets(&是非法字符)

Python语言区分大小写,所以要特别注意脚本中的大小写,如变量的命名等。对初学者来说,大小写问题是最常见的错误来源,所以当代码出现错误时要首先考虑大小写问题。来看一个例子,下面是3个变量,虽然每个变量的名字相同,但是由于大小写的不同,实际上创建的是3个不同的变量。

mapsize = "22x34"

MapSize = "8x11"

Mapsize = "36x48"

如果输出这些变量,会得到以下结果。

print(mapsize)

>>> 22x34

print(MapSize)

>>> 8x11 #output from print statement

print(Mapsize)

>>>36x48 #output from print statement

要变量名在整个脚本中保持一致,最好的做法就是采用camel命名法,即变量名的第1个单词全部小写,而后连接的每个单词的首字母大写。如以变量名fieldOwnerName为例来说明这一概念。第1个单词(field)所有字母小写,第2个单词(Owner)和第3个单词(Name)的首字母大写。

fieldOwnerName

Python中的变量是动态的,也就是说不需要预先声明变量的类型,变量赋值时就已经隐式地声明变量的类型了。赋值给变量的常用数据类型如表1-2所示。

1030cf3c51a776b4264f75f84a187f7d.png

接下来的章节会详细介绍这些数据类型。

在C#中,使用变量之前必须先定义变量的名称和类型,而Python则只需定义变量名,通过赋值就可以使用该变量,变量的具体数据类型由Python后台识别。

下面的C#代码示例创建了一个名为aTouchdown的整型变量,它只能包含整数数据,然后给该变量赋值整数6。

int aTouchdown;

aTouchdown = 6;

在Python中,这个变量可以动态地创建和赋值,如下列代码所示。Python解释器可以动态地判断赋给变量的数据类型。

aTouchdown = 6

有时候需要创建一个变量,但事先并不知道具体为它赋何值,在这种情况下,可以简单地创建一个没有赋值的变量,下面的代码示例就创建了这样一个变量。

aVariable = ''

aVariable = NULL

赋值给变量的数据可以在脚本运行时改变。

变量可以存储不同类型的数据,包括基本数据类型,如字符串和数字,以及更复杂的数据类型,如列表、字典和对象等。接下来介绍可以赋值给变量的不同数据类型以及Python提供的各种操作数据的功能。

1.3.4 内置数据类型

Python有一些内置的数据类型。这里首先介绍string类型,之前已经给出几个string变量的例子,这种变量类型有多种操作方式,下面详细介绍这种数据类型。

1.字符串

字符串是字符的有序集合,用于存储和表示文本信息。当字符串赋值给变量时,要由英文单引号或双引号括起来,它可以是一个名称、要素类名称、where子句或其他任何可编码的文本。

2.字符串操作

在Python中,字符串有多种操作方式,其中字符串连接是比较常用且容易实现的操作方式之一。“+”操作符可以把它两边的字符串变量连接起来形成一个新的字符串变量。

shpStreets &#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值