python 瑣碎
瑣碎點
string.format
自python2.6開始,新增了一種格式化字符串的函數str.format()
它通過{}和:來代替%。
* 通過位置 *
In [1]: '{0},{1}'.format('kzc',18)
Out[1]: 'kzc,18'
In [2]: '{},{}'.format('kzc',18)
Out[2]: 'kzc,18'
In [3]: '{1},{0},{1}'.format('kzc',18)
Out[3]: '18,kzc,18'
* 通過關鍵字參數 *
In [5]: '{name},{age}'.format(age=18,name='kzc')
Out[5]: 'kzc,18'
* 通過對象屬性 *
class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)
In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'
* 通過下標 *
In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'
yield 迭代器
修飾符@
list/dict遍歷
list遍歷
a = ["a", "b", "c", "d"]
直接取值
for i in a:
print i
取索引
for i in xrange(len(a)):
print i, a[i]
enumerate取索引取值
for i, el in enumerate(a):
print i, el
從1開始遍歷
for i, el in enumerate(a, 1):
print i, el
dict遍歷
d = {'a': 1, 'c': 3, 'b': 2, 'd': 4}
for k in d:
print k, d[k]
for k, v in d.iteritems():
print k, v