知识
1.可以用_来过滤掉自己不太感兴趣的量
L = ((2.8,7.9))
for number1, _ in L:
2.用*可以指的是某个变量可以取任意多个值
head, *body, tail = range(5)
3.用 * 来拆开一个list
l = [1, 2]
def add(a,b):
return a + b
print(add(*l))
4.什么叫具名元组?其实书中我个人认为也没有讲的很明白。
总之要使用它, 先 from collections import namedtuple
namedtuple(arg1,*arg2) arg1 表示类的名称,arg2用字段表示属性的名称。
arg2 可以是 'title country population'
也可以是一个 ['title','country','population']
这两者是等价的
用City = namedtuple('City', 'name country population coordinate')
tokyo = City('Tokyo','JP', 36.933, (20,20))
tokyo是个实例
5.那这种具名元组有什么方法可用呢?
City._fields
会返回包含所有字段名称的元组
>>> City_fields
('name','country','population','coordinates'
delhi = City._make(arg) 这个其实就是再造一个CIty 实例的意思, 但是arg一定要是可迭代的
因为上述等价于 delhi = City(*arg)
_asdict是对实例用的一个方法,上面两个都是对类用的
delhi._asdict() 会返回一个OrderedDict,它是一个大List, 每个元素是(字段, 属性值)(是一个元组!)