上一篇文章我们简单的学习了python的数据类型相关的知识,接下来我们将学习到python的语句与函数相关知识。在学习新的知识前,补充上一篇文章相关的两个知识点:注意区分语句与表达式

##此处 3*15 为表达式,可以直接输出 (python的注释除了用#开头,还可以用##开头)
>>> 3*15
45
>>> x=3*18 ##此处为语句。需要通过print才能输出
>>> print x

54python的路径处理

python的转义字符如下


这里就知识重点介绍基于ArcGIS的python编程常用的一种转义字符(\\),这在处理路径时经常遇到;文件夹的路径是用反斜杠(\)分隔的,但在python中的(\)表示转移符,所以在输入路径时要注意,正确的方法有一下三种:利用单斜杠(/).例如:"E:/专业学习相关文档/ArcGIS Python开发"。

使用两个反斜杠(\\) 例如:"E:\\专业学习相关文档\\ArcGIS Python开发"

在路径名前加一个(r),表示后面的转义符不转义,例如:r"E:\专业学习相关文档\ArcGIS Python开发"

条件语句:

学习条件语句,第一个涉及到的可能就是比较运算符的使用,python的比较运算符与其他的语言的比较运算符并没有太多的区别。python的比较运算符如下

例子:

import random #导入random库
x = random.randint(0,6) #随机生成一个0至6的整数
print x
if x==6: #判断x的值是否为了6,是则输出You win!
print "You win!"

从这个代码我们可以看出python的语法与其他语言的区别,例如C#使用{ }来表示一个代码块,而python则用(:)表示代码块的开始,后面的一行或多行代码通过相同的缩进表示同一个代码块,缩进的结束表示代码块的结束。python的缩进是不可或缺的,这也是定义代码块的唯一方式。像其他的语言那样,python也有if-else 或if - elif-else 结构。

循环语句

python提供了for和while循环两种循环语句,在for,while语句中经常结合continue和break一起使用。当要跳出当前循环的时候,使用break语句;要继续当前循环的时候,使用continue语句。

while循环的例子如下:

i=0

while i<=10: #判断i的值是否小于等于10,是则输出i,i增加1,否则循环结束

print i #输出i

i+=1 #i增加1

运行后的结果如下:

for循环的例子如下:

mylist=['A','b','c','D'] #构建一个列表

for x in mylist: #遍历列表

print x #输出列表的所有元素

运行的结果如下:

循环的嵌套:(求100以内的素数(素数的定义是只要1和它本身才能整除))

#求100以内的素数
i=2
while i<=100:
for x in range(2,i): #range()函数的作用是取从2开始至i-1之间的整数
if i%x==0: #去i除以x的余数,只要存在一个x使等式成立,就说明i 不是素数
break #跳出for循环
else: #循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行
print '100以内的素数有:'+str(i)
i+=1

运行后的结果如下:

for,while循环是一个比较重要的知识点,比如说当我们想进行批量处理数据的时候,循环语句是必不可少的;在实际的项目当中,我们也可以结合else一起使用,形成while——else,for——else形式,当for或者while循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行else代码块(例如求素数的应用);

在循环的嵌套中,for,while语句可以灵活的单独或交叉使用。在写循环语句的时候有两个点需要注意的,一个是终止循环因子的设置,缺少了它,程序将会进入死循环;另外一个是是否执行循环的条件判断(while语句中)。

函数:

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。

自定义函数的语法:函数的代码块以def 关键词开头,后接函数名,参数写在函数名后面的括号中。例如自定义函数myprint()

def myprint(x): #定义一个函数输出x的值
print x
myprint("I am a GISer.") #函数的调用,参数为I am a GISer.

最后输出的结果为:

python函数的返回值不是必须的,如需要返回值,使用return语句即可,如果没有return语句,python函数默认是没有返回值的,例如一个求和的函数Add():

def Add(x,y): #定义一个Add函数,求x,y的和并返回
return x+y
a=Add(4,6) #调用Add函数求4,6的和并赋值给变量a
print a #输出a
运行输出的结果为 10.

python为我们封装了很多函数,我们可以直接调用,例如前面用过的help(),range(),randomint()等,不过不同函数存放的类库不一样,我们需要调用函数前,需要先导入存放函数的类库,例如randomint()函数对应的类库random。Arcgis与python的连接就是通过站点包(类库)arcpy,Arcgis相关的工具在python中就体现为一个个函数,这些函数都封装在arcpy类库中,我们导入arcpy类库后,直接调用函数就行。

通过python基础这两篇文章简单的介绍了python的数据类型,常用的语句以及一些语法。python的知识还有很多,前面也提到基于ArcGIS的python编程的难点不是python语言,而是Arcgis相关的基础,所以python的介绍到此结束,下一篇文章开始将会着重开始Arcgis的学习。在学习过程中涉及到python新的知识点时再简单的说一下。