对于初学者来说,看到*args和**kargs就头大,到底它们有何用处,怎么使用?这篇文章将为你揭开可变参数的神秘面纱

1.*args 实质就是将函数传入的参数,存储在元组类型的变量args当中

def fun_var_args(farg, *args):
print "arg:", farg
for value in args:
print "other arg:", value fun_var_args(1, "two", 3) arg: 1
other arg: two
other arg: 3

2.第二种场景:

def fun_input_list(var1,var2,var3):
print var1,var2,var3 var_list=["second",3]
fun_input_list(1,*var_list) 1 second 3

3.**kargs 实质就是将函数的参数和值,存储在字典类型的kargs变量中

def fun_var_kargs(farg,**kargs):
print "firsr value %s"% farg
for key in kargs.keys():
print kargs[key]
fun_var_kargs(1,var1="second",var2=35,var3="third")
firsr value 1
second
third
35

4.**kargs的第二种使用场景

def fun_input_dic(var1,var2=2,var3=3):
print var1,var2,var3 dic_input={"var2":2,"var3":"third"}
fun_input_dic(1,**dic_input)
1 2 third

最新文章

  1. ionic 白屏
  2. WebView cookie 管理
  3. 【poj1985】 Cow Marathon
  4. [JWT] AngularJS Authentication with JWT
  5. HTML5本地存储localStorage与sessionStorage
  6. 利用递归生成组合数C(n,m)
  7. tomcat6.0 数据库连接池配置问题
  8. SGU 199 - Beautiful People 最长上升子序列LIS
  9. Jsonp 解决跨域问题
  10. linux局域网不能相互访问
  11. 用PS绿化版出现“请卸载并重新安装该产品”的解决方法
  12. crontab Linux定时器工具
  13. 自学OpenCV时遇到的一些错误(捂脸ing,当年确实好多不懂...)
  14. sqoop:mysql和Hbase/Hive/Hdfs之间相互导入数据
  15. 网络基础tcp/ip协议五
  16. IOS开发-UIDynamic(物理仿真)简单使用
  17. 小白的Python之路_day2
  18. virtualenvwrapper 的安装和使用
  19. ssm登录与退出
  20. RPC调用与GC垃圾回收

热门文章

  1. canvas-弧形可拖动进度条
  2. 学习笔记:javascript内置对象:数学对象
  3. Redis学习-Sentinel
  4. 最近项目用到Dubbo框架,分享一下~
  5. RabbitMQ 3.6.1集群搭建
  6. OpenCV探索之路(六):边缘检测(canny、sobel、laplacian)
  7. THREE笛卡尔右手坐标系详解
  8. 写给Android App开发人员看的Android底层知识(5)
  9. [原创]安全系列之端口敲门服务(Port Knocking for Ubuntu 14.04 Server)
  10. Shiny for Interactive Application Development using R(转)