返回介绍

2.3 各种数据类型的用途

发布于 2024-01-27 21:43:11 字数 5292 浏览 0 评论 0 收藏 0

每种基本数据类型都可以做各种各样的事情。下面列出了我们目前学过的数据类型,并举例说明这些数据类型所能做的各种事情。

· 字符串

o 大小写转换

o 删除字符串末尾的空格

o 分割字符串

· 整数和小数

o 加减运算

o 简单数学运算

· 列表

o 在列表中增加或删除元素

o 删除列表的最后一个元素

o 列表重新排列

o 列表排序

· 字典

o 增加一个键 / 值对

o 将指定的键设置为新的值

o 利用键查找值

 在上面这个列表中我们故意没有提到变量。变量能做的事情取决于它包含的数据。比如说,如果变量是一个字符串,那么它可以做所有字符串能做的事情。如果变量是一个列表,那么它可以做只有列表才能做的各种事情。

把数据类型看作名词,把它们能做的事情看作动词。在大多数情况下,数据类型能做的事情被称为方法(method)。想要访问数据类型的方法,或者说让数据类型做一些事情,你可以用点号(.)。比如说,如果你将一个字符串赋值给名为 foo 的变量,你可以输入 foo. strip() 来调用该字符串的 strip 方法。我们来看一下其中一些方法的作用。

 在调用字符串的方法时,它们的行为是 Python 默认库的一部分(类似于手机上预装的默认应用),所有 Python 版本共享这一默认库。在每一台运行 Python 的计算机上都可以调用这些方法,因此每一个 Python 字符串都可以共享相同的方法(就像每一台手机都可以打电话,每一台苹果手机都可以发送 iMessage 一样)。Python 标准库(也叫作 stdlib,https://docs.python.org/2/library/)中包含了大量的内置方法和基本数据类型,其中包括你正在使用的 Python 数据类型。

2.3.1 字符串方法:字符串能做什么

回头看最开始定义的变量 filename。我们开始时用 filename = 'budget.csv' 来定义变量。这种定义方法很方便。但有些时候,事情并没有那么简单。来看几个例子:

filename = 'budget.csv    '

注意,现在 filiname 字符串里有许多多余的空格,可能需要将其删掉。可以用 Python 字符串的 strip 方法,这是一个内置函数,可以从头到尾删除字符串中多余的空格:

filename = 'budget.csv    '
filename = filename.strip()

 如果你没有对变量重新赋值的话(令 filename 等于 filename.strip() 的输出值),你对 filename 所做的修改不会被保存。

在 Python 解释器中输入 filename,现在你应该可以看到,空格已经被删除。

比如说,文件名需要全部用大写字母。可以用 Python 字符串内置的 upper 函数将所有的字母转换成大写:

filename = 'budget.csv'
filename.upper()

从输出应该可以看出,现在文件名已经全部大写了:

'BUDGET.CSV'

在这个例子中,我们没有将大写的字符串重新赋值给变量 filename。在解释器中再次调用 filename 时会发生什么?输出应该还是 'budget.csv'。如果你不希望修改你的变量,只想对变量进行转换后使用一次,可以调用类似 upper 这样的方法,这些方法会返回修改后的字符串,但不会改变变量本身。

如果想对变量重新赋值,用同一个变量名保存返回值,应该怎么办呢?接下来,将变量 filename 的值改成全部大写:

filename = 'budget.csv'       ➊
filename = filename.upper()     ➋

❶ 在本行之后调用 filename,输出是 'budget.csv'。

❷ 在本行之后调用 filename,输出是 'BUDGET.CSV'。可以将代码压缩成一行来运行:

filename = 'budget.csv'.upper()

代码的行数有时是你个人的风格或偏好。你可以随意选择你认为合理的方式,但要保持代码清晰、易读、明了。

在上面这些例子中只讲了两个字符串方法:strip 和 upper,但还有许多其他的内置字符串方法。随着在数据处理过程中遇到更多的字符串,我们会学习更多的字符串方法。

2.3.2 数值方法:数字能做什么

整数和浮点数 / 小数都是数学对象。如果你输入 40 + 2,Python 会返回 42。如果你想把结果保存在变量中,可以将其赋值给一个变量,正如我们在字符串的例子中所做的那样:

answer = 40 + 2

现在你输入 answer,得到的返回值是 42。整数能做的大部分事情都是可以预知的,但有可能你需要使用一些特殊的格式,这样 Python 解释器才能理解你想做的数学运算。例如,如果你想计算 42 的平方,那你需要输入 42**2。

整数、浮点数和小数也还有许多其他的方法,我们会在学习数据处理的过程中遇到其中一些方法。

加法和减法

对于 Python 的其他数据类型,你也可以做加法,例如字符串和列表。试一试下面的代码:

'This is ' + 'awesome.'

['Joker', 'Simon', 'Ellie'] + ['Lishka', 'Turtle']

试试用减法,看看会发生什么?运行下面的代码会报错,你能从中学到什么?

['Joker', 'Simon', 'Ellie', 'Lishka', 'Turtle'] - ['Turtle']

你应该会得到报错信息:TypeError: unsupported operand type(s) for -: 'list' and 'list'。这告诉我们,Python 列表支持加法,却不支持减法。这是因为Python 开发人员对每种数据类型支持的方法所做的选择。如果你想了解如何对列表做减法,可以查看 Python 官网上列表的 remove 方法(https://docs.python.org/2/tutorial/datastructures.html)。

2.3.3 列表方法:列表能做什么

列表有几个必须知道的方法。我们从一个空列表开始,用一个方法来添加元素。

首先,像这样定义一个空列表:

dog_names = []

在解释器中输入 dog_names,返回的是 [],这是 Python 显示空列表的方式。在本章前面的内容里,这个变量中保存了好几个名字,但在上一行代码中我们重新定义了这个变量,现在它是一个空列表。内置的 append 方法可以向列表中添加元素。现在利用这一方法将“Joker”添加到列表中:

dog_names.append('Joker')

现在输入 dog_names,返回的列表中将包含一个元素:['Joker']。

下面你自己来操作,利用 append 方法创建这样的列表:

['Joker', 'Simon', 'Ellie', 'Lishka', 'Turtle']

比如说,你不小心添加了一个猫咪的名字,'Walter':

dog_names.append('Walter')

你可以利用 Python 列表内置的 remove 方法删除这个元素:

dog_names.remove('Walter')

列表还有许多其他的内置方法,但 append 和 remove 是其中最常用的两个。

2.3.4 字典方法:字典能做什么

为了学习一些有用的字典方法,我们来从头创建一个动物数量的字典。

在下面的例子中,我们创建了一个空的字典。然后添加了一个键,并给定了这个键对应的值:

animal_counts = {}
animal_counts['horses'] = 1

向字典添加元素(animal_counts['horses'])与向列表添加元素略有不同。这是因为字典既有键又有值。在上面的例子中,键是 'horses',值是 1。

我们用动物数量来定义字典的其他部分:

animal_counts['cats'] = 2
animal_counts['dogs'] = 5
animal_counts['snakes'] = 0

现在在 Python 解释器中输入 animal_counts,你应该会得到以下字典:{'horses': 1, 'cats': 2, 'dogs': 5, 'snakes': 0}。(Python 字典不会保存元素的顺序,所以你看到的输出可能会有所不同,但应该包含相同的键值对)。

这里讲的是一个非常小的例子,但是编程并非总是这样方便。试想由世界上所有家畜的数量构成的字典。作为程序员,我们可能不知道这个 animal_counts 字典中包含的所有动物种类。在处理一无所知的大型字典时,我们可以利用字典方法来了解字典的更多内容。下面这个命令返回字典包含的所有键:

animal_counts.keys()

如果你把前面的练习都做了,那么在解释器中输入上面的代码会返回一个键的列表,如下所示:

['horses', 'cats', 'dogs', 'snakes']

对于上面任何一个键,你可以从字典中检索到与其对应的值。下面的查询将返回狗狗的数量:

animal_counts['dogs']

这行代码的输出是 5。

如果你愿意,可以将这个值保存在一个新变量中,这样你就无需再次查询:

dogs = animal_counts['dogs']

现在,你直接输入变量 dogs,Python 将返回 5。

这就是你可以对字典做的一些基本操作。随着用代码去解决越来越复杂的问题,我们也会更深入地学习字典,正如字符串和列表一样。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文