博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 函数动态参数
阅读量:4646 次
发布时间:2019-06-09

本文共 1582 字,大约阅读时间需要 5 分钟。

def show (*arg):     print (arg,type(arg)) show([11,22],[33]) 结果:([11, 22], [33]) 
结论:一个*号传递的参数默认定义为元祖类型 def show (**arg): print (arg,type(arg)) show(k1='v1',k2='v2',k3='v3') 结果:{'k1': 'v1', 'k3': 'v3', 'k2': 'v2'}
定义 结论:两个**号传递的参数默认定义为字典类型
def show (*arg,**kwargs):     print (arg,type(arg))     print (kwargs,type(kwargs)) show([11,22,33],[44],['a','b'],k1='v1',k2='v2') 结果:

  ([11, 22, 33], [44], ['a', 'b']) <class 'tuple'>

  {'k2': 'v2', 'k1': 'v1'} <class 'dict'>

 结论:同时传递两个带*号的参数,在形参定义里,第一个形参只能是带一个*号,第二个形参只能是带两个*号,同时在参数传递的时候,第一个参数只能是普通的定义,第二个参数是字典的定义

 

def show (*arg,**kwargs):     print (arg,type(arg))     print (kwargs,type(kwargs)) #show([11,22,33],[44],['a','b'],k1='v1',k2='v2') li = [[11,22,33],[44],['a','b']] di = {'k1':'v1','k2':'v2'} show (li,di) show(*li,**di) 结果:

  ([[11, 22, 33], [44], ['a', 'b']], {'k1': 'v1', 'k2': 'v2'}) <class 'tuple'>

  {} <class 'dict'>
  ([11, 22, 33], [44], ['a', 'b']) <class 'tuple'>
  {'k1': 'v1', 'k2': 'v2'} <class 'dict'>

 结论:通过第一种方式来传参数,python默认认为传到了第一个*号的形参那里,第二个*号不会接收参数。通过第二种方式来传递参数,才能将匹配的参数传给对应的形参。

  

  动态参数的应用

s1 = '{0} is {1}' result = s1.format('alex','handsome') print(result) 结果:alex is handsome
s1 = '{0} is {1}' li = ['alex','handsome'] result = s1.format(*li) print(result)
结果:alex is handsome
s1 = "{name} is {face}" result = s1.format(name='alex',face='handsome') print (result)
结果:alex is handsome
s1 = "{name} is {face}" dic = {'name':'alex','face':'handsome'} result = s1.format(**dic) print (result)
结果:alex is handsome

 

 

 

转载于:https://www.cnblogs.com/python-study/p/5450113.html

你可能感兴趣的文章
自己的一些简要学习点
查看>>
HTPJ 1268 GCD
查看>>
hdu2063 匈牙利算法 二分最大匹配模版题
查看>>
工作中的一些经验小结
查看>>
百度地图JavaScript API如何在同一页面显示多个地图?
查看>>
揭秘快速提升alexa排名的18种有效方法-2 -#来秀美#
查看>>
计算机专业及软件开发推荐书籍
查看>>
《Java程序设计》 课程教学
查看>>
Lambda--持续学习中
查看>>
简单谈谈面向对象和面向过程的区别
查看>>
Intellij IDEA 配置Tomcat远程调试
查看>>
python3 进程和线程(一)
查看>>
python-综合练习题(if条件语句,while循环,奇数偶数
查看>>
C语言基础-第三章
查看>>
PowerDesigner教程系列(一)概念数据模型
查看>>
python常用类库总结
查看>>
题解 CF962C 【Make a Square】
查看>>
只读数据文件损坏恢复
查看>>
k8s集群上线web静态网站
查看>>
【转】Impala和Hive的关系
查看>>