|
发表于 2016-11-3 22:37:49
|
显示全部楼层
本楼为最佳答案
def timer(func, *pargs, **kargs):
_reps = kargs.pop('_reps', 1000) #pop里面有2个参数,一个参数是检测序号。请问2个参数分别代表什么
这里kargs是一个dict;dict用pop的话有以下这两种情况:
1._reps = kargs.pop('_reps',1000),如果kargs中有键为'_reps'的键值对,那么会将'_reps'的值赋值给_reps;
2.如果没有,则将第二个参数(此处是1000)赋值给_reps.
举个栗子:
- >>> b = {'a':123,'c':100,'d':134}
- >>> b
- {'c': 100, 'a': 123, 'd': 134}
- >>> c = b.pop('rep',12)
- >>> c
- 12 #b中没有键为'rep'的键值对,所以将第二个参数12赋值给c
- >>> b
- {'c': 100, 'a': 123, 'd': 134}
- >>> d = b.pop('a',12)
- >>> d
- 123 #b中有键为'a'的键值对,因此将字典中'a'对应的值赋值给d,忽略第二个参数
- >>> b
- {'c': 100, 'd': 134}
复制代码 |
|