首页 > 编程语言 >Python中的*args和**kwargs

Python中的*args和**kwargs

时间:2024-01-11 17:44:21浏览次数:28  
标签:Python args 参数 func kwargs print

定义

  1. *args**kwargs是编程人员约定的变量名字,argsarguments 的缩写,表示位置参数;kwargskeyword arguments 的缩写,表示关键字参数。
  2. 这其实就是 Python 中可变参数的两种形式, 并且 *args 必须放在 **kwargs 的前面, 因为位置参数在关键字参数的前面
  3. *args**kwargs长度可变, 可以为0

实例

def func(*args, **kwargs):
    print(args, type(args))
    print(args[1])
    print(kwargs, type(kwargs))
    print(kwargs.get('c'))

func('a', [1, 2, 'a'], c='c', d='d')
('a', [1, 2, 'a']) <class 'tuple'>
[1, 2, 'a']
{'c': 'c', 'd': 'd'} <class 'dict'>
c

可以理解为有两个参数分别是:
args=('a', [1, 2, 'a'])
kwargs={'c': 'c', 'd': 'd'}
然后对其进行了解包操作之后传入函数, 也就是***

解包

把容器类型list、tuple、dict、set中的元素拆开
**{'c': 'c', 'd': 'd'}就是拆成'c'='c''d'='d'两个元素
*('a', [1, 2, 'a']) 就是拆成 'a'[1, 2, 'a'] 两个元素
当然还能接着拆[1, 2, 'a']这个元素,*('a', *[1, 2, 'a'])拆成'a'12'a'四个元素
在上面的例子中
func('a', [1, 2, 'a'], c='c', d='d')func(*('a', [1, 2, 'a']), **{'c': 'c', 'd': 'd'})可以近似理解为等价

标签:Python,args,参数,func,kwargs,print
From: https://www.cnblogs.com/ishuangjin/p/17959105

相关文章

  • Python 爬取音频如何处理网络请求和响应
    本文将介绍如何使用Python爬取音频,并详细讲解如何处理网络请求和响应,包括发送请求、接收响应、处理状态码和错误等。同时,还会介绍一些常用的第三方库和技巧,帮助你更好地实现音频爬取。1.发送网络请求在Python中,可以使用requests库发送网络请求。首先,需要安装该库:pipinstallreques......
  • Python 在运维中有哪些常见的应用场景
    Python是一种功能强大且易于学习的编程语言,广泛应用于运维领域。本文将介绍Python在运维中的常见应用场景,包括自动化脚本、日志分析、监控系统、配置管理、网络管理和故障排除等方面。1.自动化脚本Python在运维中最常见的应用场景之一就是编写自动化脚本。通过Python脚本,可以自动化......
  • python里面什么是身份运算符
    Python中的身份运算符是一种用于比较对象是否具有相同的内存地址的运算符。在Python中,身份运算符由is和isnot两个关键字组成。本文将详细介绍Python中的身份运算符及其使用方式。is关键字在Python中,is是一个用于比较两个对象是否具有相同内存地址的关键字。当is运算符用于比较两个......
  • 如何使用Python计算列表中所有数字的平均值
    在Python编程中,经常需要对列表中的数字进行各种数学运算。其中一个常见的任务是计算列表中所有数字的平均值。本文将向您介绍如何使用Python编程语言来实现这个任务。步骤:以下是计算列表中所有数字平均值的步骤:1.定义一个包含数字的列表。2.使用`sum()`函数计算列表中所有数字的总......
  • 如何使用Python从列表中删除指定的元素
    在Python编程中,我们经常需要从列表中删除指定的元素。这可以通过使用内置函数和方法来实现。本文将向您介绍如何使用Python语言中的删除函数和方法来删除列表中的元素。1.定义一个包含元素的列表。2.使用`remove()`函数删除列表中指定的元素。3.使用列表解析删除多个指定的元素。4.......
  • 如何使用Python实现字符串反转
     在Python编程中,我们可能需要将字符串反转。这可以通过使用Python内置函数或自定义函数来实现。本文将向您介绍如何使用Python语言中的方法和技巧来反转字符串。 步骤: 以下是实现字符串反转的步骤: 1.定义一个字符串。 2.使用切片`[::-1]`反转字符串。 3.使用循环迭代,将原始......
  • Python中查找字符串某个字符最常用的方法!
    在Python语言中,查找字符串中某个字符是非常普通且常见的操作之一,那么Python如何查找字符串中某个字符?可以使用的方法有很多种,以下是详细内容介绍。1、使用in关键字在Python中,可以使用in关键字来查找一个字符串是否包含某个字符,具体代码如下:```pythons="Hell......
  • python之元类
    【什么是元类】元类:就是用来实例化产生类的类关系:元类-----实例化-----》类(People)-----实例化-----》对象(obj)一切都来源于一句话:一切皆为对象【演示】   【如何自定义元类来控制类的产生】   【__call__方法】  【自定义元类控制类的调用=====》......
  • Python面向对象之绑定方法和非绑定方法
    绑定方法与非绑定方法【一】概要在Python中,绑定方法是指将类的实例与类的方法关联起来的过程。绑定方法包含类实例作为第一个参数,通常被称为self。当通过实例调用类的方法时,Python会自动传递实例作为第一个参数,这个过程就是方法绑定。【二】常用方法【1】绑定方法(动态方......
  • 【Python基础】函数进阶(匿名函数、装饰器、闭包等)
    简介函数进阶的使用,包括匿名函数、装饰器、闭包等匿名函数指函数是没有函数名称的,临时使用的微函数。使用lambda表达式来声明,语法格式如下:lambda[arg1[arg2,...,argn]]:表达式*[arg1,arg2,...,argn]为函数的参数列表,可有可无。*表达式:表示函数体,必须......