![地理数据处理与分析——Python与Arcpy编程](https://file.mhuoba.com/shop/3/100021/picture/book/20230828/14/20230828143035797.jpg)
出版社: 科学
原售价: 138.00
折扣价: 109.10
折扣购买: 地理数据处理与分析——Python与Arcpy编程
ISBN: 9787030692412
第1章Python基本介绍
Python是一个开源的解释性程序设计语言,具有易使用、高黏合性、可移植、跨平台等特点,目前已成为全球昀受欢迎的程序设计语言之一,已广泛应用于科学计算、网站开发、系统管理等,也是目前大数据分析、机器学习和人工智能的主要开发语言。
本章从 Python发展、Python软件下载与安装、 Spyder集成开发环境、Jupyter Notebook、程序编写与运行等几个方面介绍 Python基本情况。
1.1 Python发展
最初的 Python软件是由荷兰人吉多( Guido)开发的,当时 Guido是荷兰国家数学和计算机科学研究中心( Centrum Wiskunde & Informatica,CWI)的研究员,已使用过 Pascal、C、 Fortran等语言,并参与了 ABC编程语言的开发。 1989年末,Guido开始写 Python语言的编译器,他希望借鉴已有编程语言的优点,开发一个功能全面、易学易用、可拓展的开源编程语言。Python这个名字,来自 Guido所喜爱的电视剧“Monty Python’s Flying Circus”。
1991年初,Python发布了**个公开发行版; 1995年 Guido在美国 CNRI(Corporation for National Research Initiatives)继续 Python的研发; 2000年 10月,Guido和 Python的核心开发团队移师到 Digital Creations公司(现改名为 Zope公司);2001年,由 Zope公司发起,成立了 Python软件基金会( Python Software Foundation,PSF),该基金会是一个非营利组织,专门负责 Python软件的管理和维护,同时运营 Python官方网站(图 1-1)。
Python目前有两个版本在同时使用,即 Python2.x和 Python3.x。Python2.x是早期版本,由于早期版本在设计上有一些缺陷,如对 Unicode编码的支持( Unicode标准晚于 Python出现),当 Guido决定对 Python语言做重大改进时,发现这些改动会使新的 Python语言与很多已有代码不兼容,因此,他昀终决定创建 Python新版本—— Python3.0,同时,为了保证已有代码的正常运行,他决定继续维护和历史代码兼容的版本,即 Python2.x版本。
Python3.0于 2008年发布,为了使 Python2.x尽可能与 Python3.x兼容,2010年推出的 Python2.7相比 Python2.6有很大变化,大量 Python3.x的特性被反向迁移到了 Python2.7。但目前,Python官方已宣布 Python2.x系列不再增加新功能,2020年终止支持。
图 1-1 Python官方网站
Python2.x和 Python3.x的大部分代码是相互兼容的,可以在不同的版本中运行。本书中的示例代码如不涉及 ArcPy,代码的运行版本是 Python3.x;如涉及 ArcPy,由于目前 ArcGIS Desktop中的 ArcPy不支持 Python3.x,代码的运行版本是 Python2.x。
1.2 Python软件下载与安装
Python软件包括 Python核心软件、Python发行版软件及 Python扩展包。
1.2.1 Python核心软件
Python核心软件是指包含 Python解释器、支持 Python程序运行的基本软件。 Python官方网站提供 Python核心软件的下载或直接安装。另外有些软件也把 Python作为二次开发语言,在安装包中包含了 Python软件,如在安装 ArcGIS Desktop时,可选择同时安装 Python软件。
Python是一个多平台的编程语言,在三大主流平台( Windows、Linux和 Mac OS Ⅹ)上都可使用。网站上提供的 Python安装软件有两种形式:二进制形式和源代码形式,前者可直接安装(但要根据机器的操作系统选择相应的安装软件),后者要求在系统中有 C语言编译器。
在下载或安装时,需要选择 Python的运行平台及 Python版本(图 1-2)。
在 Windows操作系统中,Python默认的安装目录是 C:\\Pythonxx(xx表示版本号,例如,2.7版本的安装目录是 C:\\Python27)。如在安装 ArcGIS Desktop时同时安装 Python软件,缺省的安装目录是 C:\\pythonxx\\ArcGIS10x。
图 1-2 Python官方网站提供的软件下载页面
1.2.2 Python发行版软件
Python发行版软件集成 Python核心软件和常用扩展包,并提供包管理工具,常用的有 Anaconda、Enthought Canopy、WinPython、PythonXY等。
Anaconda由 Continuum Analytics公司(现改名为 Anaconda公司)开发,支持 Windows、 Linux和 Mac OS Ⅹ操作系统,下载地址为。
Canopy由 Enthought公司开发,支持 Windows、Linux和 Mac OSⅩ操作系统,目前, Canopy只有基础版的 Canopy Express是免费的,下载地址为。
WinPython由 WinPython开发团队开发,用于 Windows系统( Windows 7/8/10),下载地址为。
PythonXY由皮埃尔(Pierre)从 2008年开始进行构思并开发维护, 2011年,加比(Gabi)加入该项目, 2013年 Pierre转向其他项目后由 Gabi主要维护。PythonXY目前只支持 Windows系统,可以在页面中链接下载的镜像地址并下载。
下载时,需要根据实际情况选择软件运行的操作系统、 Python版本及 64位/32位,图 1-3是 Anaconda的下载页面。下载的软件安装驱动程序是 exe格式,可按照一般软件的安装方法进行安装。
图 1-3 Anaconda的下载页面
1.2.3 Python扩展包
Python有大量的扩展包,包括 NumPy、SciPy、matplotlib、pandas、scikit-learn等,用户可以通过 Python官方网站的 PyPI(the Python Package Index)页面(图 1-4)或其他统一资源定位符(uniform resourse locator,URL)搜索和下载扩展包。
Python扩展包的安装主要有两种方式:一种方式是利用扩展包中的 setup.py文件;另一种方式是利用包管理工具。
图 1-4 PyPI页面
发布的包大部分是压缩文件形式,在压缩包中都有一个 setup.py文件,用于包的发布与安装。扩展包下载解压后,在命令行环境下,切换到 setup.py文件所在的目录,输入 python 包,如该扩展包存在依赖( dependency)easy_install两个包管理工具(在 C:\\Pythonxx\\Scripts目录下),其中,pip是 easy_install的改进版,也是官方推荐使用的包管理工具。利用包管理工具可以在线安装扩展包(直接下载并安装),包括扩展包所有的依赖(根据扩展包的依赖文件)。
pip的用法是:pip <command> [option]。
表 1-1列出了 pip工具的主要 command(command是具体的操作命令)。
表 1-1 pip工具的主要操作命令
在使用 install命令进行安装时,可选择安装参数(option),常用的安装参数如表 1-2所示。
表 1-2 install命令常用的安装参数
在线安装扩展包时,首先是搜索符合安装要求(如操作系统、Python版本等)的扩展包,然后下载扩展包,同时根据扩展包的依赖信息,检查本机是否有符合要求的依赖包,如没有或不符合要求,则搜索依赖包并下载。
发布的包有两种形式:源码发布和编译发布。源码发布的包在安装前需要一个编辑(build)过程,如源码中有其他语言(如 C、C++、Fortran等)编写的代码,需要相应的编译器进行编译,如没有相应的编译器,则无法安装;编译发布的包是直接安装的,但需要符合运行环境。图 1-5显示在线安装扩展包的过程。
图 1-5在线安装扩展包过程
对 Windows平台来说,扩展包缺省的安装位置在站点包文件夹( Lib\\site-packages)中,安装后会有两个文件夹,一个文件夹存储包的元数据信息,文件夹的名称是包名、版本号、元数据类型等信息的组合,如 numpy-1.14.1.dist-info、numpydoc-0.7.0-py3.6.egg-info等, egg-info和 dist-info表示元数据类型, egg-info类型的文件夹中有 dependency-links.txt、 PKG-INFO、SOURCES.txt、top-level.txt等文件,dist-info类型的文件夹中有 DESCRIPTION. rst、METADATA、metadata.json、RECORD、top_level.txt、WHEEL等文件;另一个文件夹是实际运行的包,和打包之前的文件夹一致,文件夹的名称是包的名称,如 numpy。
如在一个机器中安装了多个 Python,则在安装时需要选择相应 Python中的 pip进行操作。
1.3 Spyder集成开发环境
Python程序可以在命令行的环境中开发运行,也可以在集成开发环境( integrated development environment,IDE)中开发运行,集成开发环境通常包括源代码编辑器、交互运行控制台、代码调试工具等。Python核心软件本身提供命令行的开发运行环境和集成开发和学习环境(integrated development and learning environment,IDLE),同时,目前还有很多功能更为强大的第三方开发运行环境,如 Spyder、pycharm、Eclipse、Sublime等。
Spyder(Scientific Python Development Environment)是 PythonXY作者模仿 MATLAB开发的一个集成开发环境,也是 Anaconda缺省的集成开发环境。
Spyder集成开发环境由 Consoles、Editor、Variable explorer、File explorer等窗口组成(图 1-6),这些窗口可以以窗格(panes)的形式嵌入到主窗口中,通过主窗口 View菜单可以设置这些窗格是否显示,也可以调整它们的位置和大小。当多个窗格出现在一个区