当前位置: 首页 > news >正文

python使用技巧(二十五):*args, **kwargs生成可变列表与字典

def func(*args, **kwargs):
    """
    *args用来表示函数接收可变长度的非关键字参数列表作为函数的输入
    **kwargs表示函数接收可变长度的关键字参数字典作为函数的输入**kwargs表示函数接收可变长度的关键字参数字典作为函数的输入
    """

    print(args)
    print(kwargs)
    print("------------------")

    return args
def test_args(normal_arg, *args):
    print("first normal arg:" + normal_arg)
    for arg in args:
        print("another arg through *args :" + arg)

def test_kwargs(**kwargs):
    if kwargs is not None:
        for key, value in kwargs.items():
            print("{} = {}".format(key,value))
        # Or you can visit kwargs like a dict() object
        # for key in kwargs:
        #    print("{} = {}".format(key, kwargs[key]))




if __name__ == "__main__":
    func()
    func(1, 2, 3, 4)
    func(A=1, B=2, C=3)
    func("python", 123, A=1, B=2, C=3)
    list1 = [1,2,3]
    list2 = [3,5,6]
    list3 = [9,10]
    # func(list1)
    func(list1,list2)
    print("func1--->",list(func(list1,list2,list3)))
    print("func2--->", func(list1, list2, list3))

    test_args("normal", "python", "java", "C#")
    test_kwargs(name="python", value="5")

生成结果:

()
{}
------------------
(1, 2, 3, 4)
{}
------------------
()
{'A': 1, 'B': 2, 'C': 3}
------------------
('python', 123)
{'A': 1, 'B': 2, 'C': 3}
------------------
([1, 2, 3], [3, 5, 6])
{}
------------------
([1, 2, 3], [3, 5, 6], [9, 10])
{}
------------------
func1---> [[1, 2, 3], [3, 5, 6], [9, 10]]
([1, 2, 3], [3, 5, 6], [9, 10])
{}
------------------
func2---> ([1, 2, 3], [3, 5, 6], [9, 10])
first normal arg:normal
another arg through *args :python
another arg through *args :java
another arg through *args :C#
name = python
value = 5

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 爱因斯坦在普朗克生日会上的演讲:探索的动机
  • python使用技巧(二十六):批量复制图片或文件到另一文件目录
  • 完美解决ubuntu系统的中文输入法无法写入VS Code的问题
  • 谁比谁活得更长 杜丽
  • AI模型设计:yolov1+darknet+yolov2,3,4,5,X全系列资料汇总[源码仓库]标星收藏
  • C++使用技巧(八):输入输出读写文件
  • C++使用技巧(九):ubuntu环境下Eigen线性代数库的简单使用(C++版本的numpy库))
  • C++使用技巧(十):C++编译生成与调用自定义静态库/动态库
  • 张越:智慧要包括一种向善之心
  • C++使用技巧(十一):函数返回一个数组
  • 张越:每张脸背后都有故事
  • C++使用技巧(十三):Google-GTest测试框架的安装与使用(demo源码实现)
  • C++使用技巧(十四):ubuntu16.04--C++ (Cpp) PCM示例与pcm及音频算法的参考资料
  • 熊节:谁震撼了世界——第14届Jolt奖点评
  • C++使用技巧(十五):类构造函数 与 析构函数
  • 【Linux系统编程】快速查找errno错误码信息
  • CSS 提示工具(Tooltip)
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • DataBase in Android
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript设计模式系列一:工厂模式
  • k8s如何管理Pod
  • NSTimer学习笔记
  • Python利用正则抓取网页内容保存到本地
  • vue-router的history模式发布配置
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 关于 Cirru Editor 存储格式
  • 前嗅ForeSpider中数据浏览界面介绍
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • gunicorn工作原理
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #php的pecl工具#
  • $().each和$.each的区别
  • ${factoryList }后面有空格不影响
  • %check_box% in rails :coditions={:has_many , :through}
  • (¥1011)-(一千零一拾一元整)输出
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (四)汇编语言——简单程序
  • (五)IO流之ByteArrayInput/OutputStream
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .Net Web项目创建比较不错的参考文章
  • .net 获取某一天 在当月是 第几周 函数
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET 中让 Task 支持带超时的异步等待