鱼C论坛

 找回密码
 立即注册
查看: 3017|回复: 9

[已解决].pop()的用法,请前辈解答

[复制链接]
发表于 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.

举个栗子:
  1. >>> b = {'a':123,'c':100,'d':134}
  2. >>> b
  3. {'c': 100, 'a': 123, 'd': 134}
  4. >>> c = b.pop('rep',12)
  5. >>> c
  6. 12 #b中没有键为'rep'的键值对,所以将第二个参数12赋值给c
  7. >>> b
  8. {'c': 100, 'a': 123, 'd': 134}
  9. >>> d = b.pop('a',12)
  10. >>> d
  11. 123 #b中有键为'a'的键值对,因此将字典中'a'对应的值赋值给d,忽略第二个参数
  12. >>> b
  13. {'c': 100, 'd': 134}
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-26 03:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表