可变参数
def enroll(name, gender, age=6, city='Beijing'): print 'name:', name print 'gender:', gender print 'age:', age print 'city:', city
调用:
enroll('Bob', 'M', 7)
enroll('Adam', 'M', city='Tianjin')
定义默认参数要牢记一点:默认参数必须指向不变对象!
*args
是可变参数,args接收的是一个tuple;
**kw
是关键字参数,kw接收的是一个dict。
集合迭代
d = {'a': 1, 'b': 2, 'c': 3}
for value in d.itervalues()
for k, v in d.iteritems()
for key in d:
for i, value in enumerate(['A', 'B', 'C']):
print i, value
>>> L = ['Hello', 'World', 'IBM', 'Apple']
>>> [s.lower() for s in L]
列表表达式
L=['Hello', 'World', 18, 'Apple', None]
[s.lower() if isinstance(s,str) for s in L] (×) 为什么不加else不行?
[s.lower() if isinstance(s,str) else s for s in L] (√)