注:这里忽略了生成器,装饰器,交换变量等熟知技巧
1. 函数参数unpack
老生常谈的了:
1 2 3 4 5 6 7 8 |
def foo(x, y): print x, y alist = [1, 2] adict = {'x': 1, 'y': 2} foo(*alist) # 1, 2 foo(**adict) # 1, 2 |
2. 链式比较操作符
1 2 3 4 5 |
>>> x = 3 >>> 1 < x < 5 True >>> 4 > x >=3 True |
3. 注意函数的默认参数
1 2 3 4 5 6 7 8 |
>>> def foo(x=[]): ... x.append(1) ... print x ... >>> foo() [1] >>> foo() [1, 1] |
更安全的做法:
1 2 3 4 5 6 7 8 9 10 11 |
>>> def foo(x=None): ... if x is None: ... x = [] ... x.append(1) ... print x ... >>> foo() [1] >>> foo() [1] >>> |
4. 字典有个get()方法
dct.get(key[,default_value]), 当字典dct中找不到key时,get就会返回default_value
1 |
sum[value] = sum.get(value, 0) + 1 |
5. 带关键字的格式化
1 2 3 4 |
>>> print "Hello %(name)s !" % {'name': 'James'} Hello James ! >>> print "I am years %(age)i years old" % {'age': 18} I am years 18 years old |
更新些的格式化:
1 2 |
>>> print "Hello {name} !".formatython-hidden-features.html">hit9 注:这里忽略了生成器,装饰器,交换变量等熟知技巧 1. 函数参数unpack老生常谈的了:
2. 链式比较操作符
3. 注意函数的默认参数
更安全的做法:
4. 字典有个get()方法dct.get(key[,default_value]), 当字典dct中找不到key时,get就会返回default_value
5. 带关键字的格式化
更新些的格式化:
|