在写程序时,经常会碰见传递过多参数的情况。先看一个例子
1 | #!/usr/bin/env python |
在 func1()
给 func2()
传递参数,一个一个的写真的很痛苦,写一次还好,关键是到处都有这种情况。
可不可以将想要的参数打包直接传递过去呢?
内置方法 locals()
就可以达到这个效果,它可以实时收集当前作用域的参数,并返回一个字典。
先在全局范围内看看有哪些参数
1 | #!/usr/bin/env python |
1 | $ python locals_demo.py |
可能你到没注意到一个空文件里都有这么多的内置参数。
locals()
收集参数是实时进行的,比如我们定义一个参数
1 | #!/usr/bin/env python |
1 | $ python locals_demo.py |
第二次打印的结果中,就多出了刚刚定义的参数 name
在方法中使用也是如此
1 | #!/usr/bin/env python |
1 | $ python locals_demo.py |
因为 locals()
方法的值是动态变的,所以我们可以先用变量储存起来,并且记得去掉不需要的参数
1 | #!/usr/bin/env python |
或者
1 | #!/usr/bin/env python |
现在再来回顾下开始的问题,这下解决方式简单了很多
1 | #!/usr/bin/env python |
喔噢,我爱 Python。
最近热读
扫码关注公众号,或搜索公众号“温欣爸比”
及时获取我的最新文章