元组可以被认为是不可变的列表。列表是动态的,你可以添加、插入、删除和更改列表元素。有时我们需要这样的操作,但有时我们需要保证某些数据不能被用户或程序改变。这就是元组的作用。
准确的说,列表是可变对象,元组是不可变对象。
定义和访问元组
元组的定义类似于列表的定义,只是列表用方括号定义,元组用括号定义。一旦定义了元组,就可以像列表一样访问元组的元素,并且可以使用 for 循环。
colors = ('red', 'green', 'blue')
print("The first color is: " + colors[0])
print("\nThe available colors are:")
for color in colors:
print("- " + color)
如果尝试向元组中添加元素,会得到一个错误。
colors = ('red', 'green', 'blue')
colors.append('purple')
同样,其他操作也可能导致错误。一旦定义了元组,就不能更改它。
元组生成字符串
我们知道混合英文字符和变量来存储字符串是非常有用的,像这样:
animal = 'dog'
print("I have a " + animal + ".")
当我们要生成一系列语句时,这是一种很好的生成方式。如下:
animals = ['dog', 'cat', 'bear']
for animal in animals:
print("I have a " + animal + ".")
我们用加号来做,这很直观但不简洁。使用占位符使你的代码更简洁。
Python 通常会忽略我们放入字符串中的字符,但它会特别注意一些字符。例如“\t”和“\n”。 Python 也会注意到“%s”和“%d”。它们被称为占位符。当 Python 看到“%s”占位符时,它会找到 % 之后的第一个参数并将其填充到占位符中。如下:
animal = 'dog'
print("I have a %s." % animal)
这是生成包含变量的字符串的一种相当巧妙的方法。我们将句子写成字符串,然后告诉 Python 我们要在字符串的指定位置嵌入什么值。
这种方法称为字符串格式化。如果你有多个数据要填充到字符串中,则需要将参数放入元组中。如下:
animals = ['dog', 'cat', 'bear']
print("I have a %s, a %s, and a %s." % (animals[0], animals[1], animals[2]))
包含数字的格式化字符串
如果要打印包含数字的字符串,如下所示:
number = 23
print("My favorite number is " + number)
上面的代码会抛出错误。 Python 不知道你的意思是将值 23 还是“23”作为字符串。如果想让 Python 把这个变量当作字符串,我们需要使用 str() 函数将数字转换为字符串。如下:
number = 23
print("My favorite number is " + str(number) + ".")
如果我们想使用格式化字符串,“%d”会帮助我们。如下:
number = 23
print("My favorite number is %d." % number)
同样,如果要嵌入多个数字,只需将参数放入一个元组中即可。如下:
numbers = [7, 23, 42]
print("My favorite numbers are %d, %d, and %d." % (numbers[0], numbers[1], numbers[2]))
也可以混合使用字 符串和数字占位符。不再赘述。
在 Python 3 中还有很多复杂的方法做字符串格式化。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中将系列转换为列表?08/25
- ♥ python列表有顺序吗?09/05
- ♥ 如何使用python脚本实现表单打印?01/06
- ♥ python 元组是如何打包和解包的11/17
- ♥ Python 2.73.5 兼容吗12/12
- ♥ 如何编写和运行 Python 程序10/13
内容反馈