【Python 第51课】元组


上一次pygame的课中有这样一行代码:

x, y = pygame.mouse.get_pos()

 

这个函数返回的其实是一个“元组”,今天我们来讲讲这个东西。

 

元组(tuple)也是一种序列,和我们用了很多次的list类似,只是元组中的元素在创建之后就不能被修改。

 

如:

postion = (1, 2)
geeks = ('Sheldon', 'Leonard', 'Rajesh', 'Howard')

 

都是元组的实例。它有和list同样的索引、切片、遍历等操作(参见25~27课):

 

print (postion[0])
for g in geeks:
    print (g)
print (geeks[1:3])

 

其实我们之前一直在用元组,就是在print语句中:

 

print ('%s is %d years old' % ('Mike', 23))

 

('Mike', 23)就是一个元组。这是元组最常见的用处。

 

再来看一下元组作为函数返回值的例子:

 

def get_pos(n):
    return (n/2, n*2)

 

得到这个函数的返回值有两种形式,一种是根据返回值元组中元素的个数提供变量:

x, y = get_pos(50)
print (x)
print (y)

 

这就是我们在开头那句代码中使用的方式。

 

还有一种方法是用一个变量记录返回的元组:

pos = get_pos(50)
print (pos[0])
print (pos[1])

来源:Crossin的编程教室