首页 > 其他分享 >*args 与 **kwargs 的区别

*args 与 **kwargs 的区别

时间:2024-01-24 17:11:59浏览次数:23  
标签:... 区别 args cat print kwargs fun

*args 与 **kwargs 的区别

定义

*args 与 **kwargs 的区别,两者都是 python 中的可变参数:

  • *args 表示任何多个无名参数,它本质是一个 tuple
  • **kwargs 表示关键字参数,它本质上是一个 dict

应用

1. 同时使用 *args 和 **kwargs

如果同时使用 *args 和 **kwargs 时,必须 *args 参数列要在 **kwargs 之前

>>> def fun(*args, **kwargs):
...     print('args=', args)
...     print('kwargs=', kwargs)
... 
>>> fun(1, 2, 3, 4, A='a', B='b', C='c', D='d')
//args= (1, 2, 3, 4)
//kwargs= {'A': 'a', 'B': 'b', 'C': 'c', 'D': '

2. 使用 *args

>>> def fun(name, *args):
...     print('你好:', name)
...     for i in args:
...         print("你的宠物有:", i)
... 
>>> fun("Geek", "dog", "cat")
//你好: Geek
//你的宠物有: dog
//你的宠物有: cat

3. 使用 **kwargs

>>> def fun(**kwargs):
...     for key, value in kwargs.items():
...         print("{0} 喜欢 {1}".format(key, value))
... 
>>> fun(Geek="cat", cat="box")
//Geek 喜欢 cat
//cat 喜欢 box

标签:...,区别,args,cat,print,kwargs,fun
From: https://www.cnblogs.com/aclq/p/17985081

相关文章

  • OC 中 nullable、__nullable、_Nullable 的区别
    在Objective-C中,nullable、__nullable和_Nullable都是用来表示一个对象可以是nil的注解。它们在不同的上下文中使用,但本质上具有相同的意义。这些注解主要用于与Swift互操作时提供更清晰的API,并帮助开发者更好地处理nil值。以下是它们各自的使用情况和区别:nullablenull......
  • rocketmq--push、poll、simple模型的区别
    RocketMQ提供了几种不同类型的消费者,以满足不同使用场景的需求。以下是RocketMQ中三种主要消费者类型的原理和区别:PushConsumer(推模式消费者)原理:PushConsumer是一种被动接收消息的消费者。Broker(消息服务器)将消息推送给消费者,消费者监听指定的Topic和Tag。当消息到达时,Broker......
  • Java和C++的区别:传闻这个问题能分辨你是不是科班出生?
    大家好,欢迎来到程序视点!我是小二哥。今天听到一个面试的小伙伴分享了他的面试经历,说面试官第一个问题是:Java语言和C++语言的区别有哪些?坊间流传,早些年间这个问题能区分一个Java程序员是不是科班出身!小伙伴怎么认为呢?缘由由于Java本来就是从C++衍生出来的,而且Java语言......
  • 通过CanvasRenderer.SetColor和Image.color修改UI组件颜色的区别
    1)通过CanvasRenderer.SetColor和Image.color修改UI组件颜色的区别2)OPPO相关机型没法在Unity启用90或120FPS3)手机输入法中的emoji4)UnityApplicationPatching怎么用这是第369篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面......
  • 面试官:小伙子来说一说Java中final关键字,以及它和finally、finalize()有什么区别?
    写在开头面试官:“小伙子,用过final关键字吗?”我:“必须用过呀”面试官:“好,那来说一说你对这个关键字的理解吧,再说一说它与finally、finalize()的区别”我:“好嘞!”final中文释义:最终的,最后的;在Java中作为关键字的一种,被用来修饰变量、方法、类,final语义是不可改变的。final......
  • static 和 self 区别
    1,在PHP中,我们可以使用newstatic()结合私有构造函数和一个静态方法来实现单例模式。以下是一个简单的例子classSingleton{//私有化构造函数,防止外部直接实例化privatefunction__construct(){}//静态变量用于存储单一实例privatestatic$instan......
  • Vue与微信小程序开发时的区别
    Vue与微信小程序开发时的区别一,生命周期vue:跳转页面时,钩子函数都会被重新出发一次,每次进入页面所有得钩子函数都会被触发一次小程序:onload()一个页面只会被加载一次,可以在onLoad中获取打开当前页面所调用的query参数。onShow():每次打开页面都会调用一次。二、数......
  • rocketmq--两种消息模型的区别及demo
    RocketMQ主要支持两种消息模型:集群消费(Clustering)和广播消费(Broadcasting)。集群消费(Clustering):在集群消费模式下,同一个消费者组(ConsumerGroup)中的消费者实例平均分摊消费消息,即一个消息只会被消费者组中的一个消费者消费一次。这种模式适用于负载均衡场景,可以提高消费的并......
  • redo和undo的区别
    edo-->undo-->datafileinsert一条记录时,表跟undo的信息都会放进redo中,在commit或之前,redo的信息会放进硬盘上.故障时,redo便可恢复那些已经commit了的数据.redo->每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,......
  • 背离、背驰的区别及简单的判断方法
    背离:我们把价格与指标的反向走势,称为背离。可以观察MACD红绿柱长短、快慢线的位置以及形态的变化。在走势中经常是背离了又背离之后,继续上涨,只有小级别的买卖点出现,致使不明背驰的初学者,在大级别上容易操作失误,错过大好时机。背离就是一方犹豫了,一方坚决了,造成力度钝化,表现在结构上......