本文共 1160 字,大约阅读时间需要 3 分钟。
本节书摘来自异步社区《Python地理数据处理》一书中的第2章,第2.7节,作者: 【美】Chris Garrard(加勒德) 更多章节内容可以访问云栖社区“异步社区”公众号查看。
通读本书时,会遇到有其他数据和附有函数的变量,这些对象创建自类。虽然我们不会在这本书中讲述如何创建你自己的类,但需要知道它们,因为你会用到别人定义好的类。类是一个非常强大的概念,但在本书中你只需要理解它们是可以包含内部数据和函数的数据类型。对象或该类型的变量包含这些数据和函数,而函数在特定对象上运行。你已看到了几种数据类型,例如列表。可以有一个列表类型的变量,而该变量包含了列表类型所有的函数,如append函数。当在列表中调用append函数时,它只将数据追加到特定的列表,而不是其他列表变量中。
类也可以有不适用于某个特定对象,但适用于数据类型本身的方法。例如,Python的datetime模块包含一个类或类型,称为date。下面从模块中获取日期数据类型,然后使用它来创建一个新的日期对象,我们可以接着问哪天是星期几,其中星期一是0,星期日是6。
>>> import datetime>>> datetype = datetime.date>>> mydate = datetype.today()>>> mydatedatetime.date(2014, 5, 18)>>> mydate.weekday()6
日期类型变量保存一个日期类型本身的引用,不是一个特定的日期对象。数据类型中的today方法可以创建一个新的日期对象。存储在mydate变量中的date对象内部存储着日期信息,并以此来确定日期信息是一周中的星期几,本例中是星期日。你不能问dateType变量是星期几,因为它不包含关于某个特定日期的任何信息。不需要对数据类型进行引用,可以用datetime.date.today()方法创建mydate。现在假设你想知道2010年5月18日是星期几,可以基于现有的一个对象创建新日期对象,不过年份要修改一下,然后你可以问新的日期对象它代表的是星期几。
>>> newdate = mydate.replace(year=2010)>>> newdatedatetime.date(2010, 5, 18)>>> newdate.weekday()1
显然,2010年5月18日是星期二,最初的mydate变量没有改变,继续显示它是星期日。
本书使用类创建的对象。例如,当打开一个数据集时,将得到一个代表该数据集的对象。根据数据的类型,该对象将有与它相关的不同信息和功能。很明显,你需要知道被用来创建这些对象的类,以便知道它们包含的数据和功能。GDAL模块包含相当广泛的类,都记录在附录B、附录C和附录D。
转载地址:http://piujo.baihongyu.com/