python 参数传递[打包与解包问题]
来源:互联网 发布:vb 向上取整 编辑:程序博客网 时间:2024/04/19 14:34
1.
传递参数时,可以传递基于参数名的字典f(**param_dict)
也可以传递基于位置的列表f(*param_list)
2.获取参数列表
对于函数,可以直接在开头param_dict=locals()
获取参数字典
对于方法(类、实例),获取的参数列表还额外含有cls、self项需要移除
可以用如下函数无副作用地得到纯洁的参数字典
def remove_key(dic,key): return {_key:dic[_key] for _key in dic if _key!=key}
3.关于locals、globals()的说明
globals是关于全局模块级的标识符字典
locals是局部的。
但globals可以直接修改(或说修改对全局标识符有效)
locals()虽然也可以赋值,但赋值是无效的(按理说应该报错才对。。。)
或说
默认的情况下下,globals()是可以直接用dict来操作的,但是locals()并不一样,可以先认为locals()是一个只读的dict(或者是没有写回作用的dict),只能知道你当前的代码的局部变量,但是无法通过修改locals() 使之生效如果用exec在执行代码时,指定一个dict作为这这段代码的locals,是可以修改的
0 0
- python 参数传递[打包与解包问题]
- python参数传递问题与可变/不可变对象
- python中参数传递之位置传递、关键字传递、包裹传递与解包裹
- python参数传递问题(参数传出)
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- Python *与** 参数问题
- 【python】*与** 参数问题
- Python中函数参数传递问题
- python传递中文参数编码问题
- python 函数参数传递的问题
- Python中 命令行参数传递 与 处理
- 结构体的偏移量计算
- 手机分辨率
- 多线程编程
- 一个帖子学会Android开发四大组件
- LeetCode Swap Nodes in Pairs
- python 参数传递[打包与解包问题]
- zoj-3785-What day is that day?
- 进制转换
- C++第5次实验- 教师类
- linux下exit()和_exit()区别
- zoj-3782-Ternary Calculation
- mysql多实例
- Spring MVC 4 文件上传下载 Hibernate+MySQL例子 (带源码)
- SAR成像基础知识急救箱(二)关于离散傅里叶变换