`

Python中*args 和**kwargs的用法

 
阅读更多

Python中*args 和**kwargs的用法

 

当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。
还是直接来代码吧,废话少说
[python] 
def fun_var_args(farg, *args): 
    print "arg:", farg 
    for value in args: 
        print "another arg:", value 
 
fun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的list 
result:
[python] 
arg: 1 
another arg: two 
another arg: 3 
**kwargs:
[python] 
def fun_var_kwargs(farg, **kwargs): 
    print "arg:", farg 
    for key in kwargs: 
        print "another keyword arg: %s: %s" % (key, kwargs[key]) 
 
 
fun_var_kwargs(farg=1, myarg2="two", myarg3=3) # myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary 
result:
[python] 
arg: 1 
another keyword arg: myarg2: two 
another keyword arg: myarg3: 3 
也可以用下面的形式:
[python] 
def fun_var_args_call(arg1, arg2, arg3): 
    print "arg1:", arg1 
    print "arg2:", arg2 
    print "arg3:", arg3 
 
args = ["two", 3] #list 
 
fun_var_args_call(1, *args) 
result:
[python] 
arg1: 1 
arg2: two 
arg3: 3 

[python] 
def fun_var_args_call(arg1, arg2, arg3): 
    print "arg1:", arg1 
    print "arg2:", arg2 
    print "arg3:", arg3 
 
kwargs = {"arg3": 3, "arg2": "two"} # dictionary 
 
fun_var_args_call(1, **kwargs) 
result:
[python] view plaincopyprint?
arg1: 1 
arg2:"two" 
arg3:3

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Python可变参数*args和**kwargs用法实例小结

    在Python编程中,`*args` 和 `**kwargs` 是两个非常有用的语法特性,它们允许函数接收可变数量的参数。这些参数在函数定义时并不知道具体的数量,因此在需要处理不确定参数个数的情况时非常有用。本文将深入探讨这两...

    python函数参数*args**kwargs用法实例

    # 当函数的参数不确定时,可以使用*args和**kwargs。*args没有key值,**kwargs有key值 def fun_var_args(farg, *args): print ‘args:’, farg for value in args: print ‘another arg:’,value # *args可以当作...

    Python中*args和**kwargs的区别详解

    一、*args的使用方法 *args 用来将参数打包成tuple给函数体调用 def args_test(x, y, *args): print(x, y, args) args_test(1,2,3,4,5) 1 2 (3, 4, 5) 二、**kwargs的使用方法 **kwargs 打包关键字参数成dict给...

    深入理解Python中的args和kwargs及其应用

    - **类初始化**:在类的`__init__`方法中,可以使用`*args`和`**kwargs`来接收任意数量的初始化参数。这对于创建高度可配置的类非常有帮助。 ```python class Person: def __init__(self, *args, **kwargs): ...

    Python *args和**kwargs用法实例解析

    在Python编程语言中,`*args` 和 `**kwargs` 是两种特殊语法,它们用于处理函数调用时的可变参数。这些语法使得函数能够接受不确定数量的位置参数(`*args`)和关键字参数(`**kwargs`)。下面将详细解释它们的用法...

    Python函数中*args和**kwargs来传递变长参数的用法

    在Python编程语言中,函数参数的传递方式有很多种,其中*args和**kwargs是处理可变数量参数的特殊语法。这两个语法糖允许我们在函数定义时接收不确定数量的位置参数或关键字参数。本文将详细解释这两种语法的用法,...

    用实例说明python的*args和**kwargs用法

    先来看一个例子:复制代码 代码如下:>>> def foo(*args, **kwargs): print ‘args =’, args print ‘kwargs = ‘, kwargs print ‘———————–‘  >>> if __name__ == ‘__main__’: foo(1, 2, 3, 4) ...

    对python中的*args与**kwgs的含义与作用详解

    在大多数编程语言中,实参与形参的数量和顺序需要严格匹配,但在Python中,通过使用*args和**kwargs,我们可以传递任意数量的参数给函数,从而提供更大的灵活性。 *args表示函数接收任意数量的非关键字参数(即位置...

    【Python进阶】Word版,可自拓展知识点或写注记。

    在 Python 中,`*args` 和 `**kwargs` 是两种特殊的语法,用于处理不确定数量的参数。 - **`*args`**: 允许你在函数调用时传递任意数量的非关键字参数给函数。这些参数在函数内部作为一个元组(tuple)被接收。 - **`...

    对Python3 * 和 ** 运算符详解

    在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。 1. 算数运算 * 代表乘法 ** 代表乘方 >>> 2 * 5 10 >>> 2 ** 5 32 2. 函数形参 *args 和 **kwargs 主要用于函数定义。 你可以将不定数量的参数传递...

    args-kwargs3:这次更喜欢Args&Kwargs,这次是使用Travis CI版本

    在Python编程语言中,`*args` 和 `**kwargs` 是两种非常重要的语法特性,它们允许我们传递可变数量的参数。在这个特定的项目“args-kwargs3”中,开发者可能是在探讨如何在不同的场景下有效地利用这两个特性,并且...

    Python中new方法的详解

    在Python编程语言中,`__new__`是一个特殊方法,它是类实例化过程中的关键环节。`__new__`主要用于创建对象,而`__init__`则是用来初始化新创建的对象。两者虽然都与对象的创建有关,但它们的职责不同。 `__new__`...

    Python:Python高级特性:装饰器与迭代器

    装饰器和迭代器都是Python中非常强大的特性,可以帮助开发者编写更加高效、优雅和可维护的代码。装饰器通过为现有函数添加额外的功能,而不需要修改原始函数的代码,极大地提高了代码的灵活性。迭代器则通过提供一种...

    python中 * 的用法详解

    如果同时使用`*args`和`**kwargs`,`*args`会先接收到所有位置参数,`**kwargs`则接收到所有关键字参数。 总结,`*`在Python中扮演了多重角色,从基本的乘法运算到动态参数传递,使得Python能够处理更复杂的编程...

    Python装饰器模式学习demo

    3. **带任意参数的装饰器**:如果装饰器需要处理函数的参数,可以使用`*args`和`**kwargs`: ```python def param_decorator(*args, **kwargs): def decorator(func): def wrapper(*caller_args, **caller_kwargs)...

Global site tag (gtag.js) - Google Analytics