python中的含有 *args 和**kwargs的用法 作为参数的函数,参数输入问题

来源:互联网 发布:sql replace 替换空格 编辑:程序博客网 时间:2024/05/18 01:24

 *args    可以当作可容纳多个变量组成的list或tuple


**kwargs     可以当作容纳多个key和value的dictionary


在python 研发中经常定义、使用  *args 、**kwargs 作为参数的函数,虽然知道需要 元组或字典类型参数,但只会 使用 手动输入两种类型参数的方式, 但当想用传递过来的 list、tuple、dict类型的变量作为函数参数时,直接传入会报错,开始没办法把 整个函数和参数 处理程符合要求的字符串,然后用eval 执行。

但始终认为有能够直接传做参数的办法,但始终未果! 今天得获,分享至此,顺便留存。


变量及函数定义:

dc_dict={'d':56,'c':99}tl_tuple=('aa','bb') tl_list=['aa','bb']def tlist(*tl):    print(tl)    def ddict(**dc):    print(dc)

使用方法:

tlist(*tl_list)    tlist(*tl_tuple) ddict(**dc_dict)

使用eval的方式就不在此罗列了,汗颜!


1 0
原创粉丝点击