python 动态参数

Posted Ethon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 动态参数相关的知识,希望对你有一定的参考价值。

# 位置传递, 只有一个*时表示元组
def func_1(*args):
    print(args)


func_1(1)  # (1,)
func_1(1, 2)  # (1, 2)
func_1(1, 2, 3)  # (1, 2, 3)

list = [4, 5, 6]
func_1(list)  # ([4, 5, 6],)

 

# 关键字传递,2个**是表示字典
def func2(**kwargs):
    print(kwargs)


func2(a=1)  # {‘a‘: 1}
func2(a=1, b=2)  # {‘a‘: 1, ‘b‘: 2}
func2(a=1, b=2, c=3)  # {‘a‘: 1, ‘b‘: 2, ‘c‘:3}

 

# *args和**kwargs一起使用
def test_1(*args, **kwargs):
    print(args, type(args))  # (1, 2, 3) <class ‘tuple‘>
    print(*args)  # 1 2 3

    # 一个*时表示获取键值key
    print(*kwargs)  # x y z

    test_2(**kwargs)  # 22 33 44


def test_2(x, y, z):
    print(x)
    print(y)
    print(z)


test_1(1, 2, 3, x=22, y=33, z=44)

 

# Demo
def add(name, *args):
    sum = 0
    if len(args) > 0:
        for i in args:
            sum = sum + i
        print(name + " 累加和是 sum:", sum)
    else:
        print("没有元素可以计算,sum:", sum)


add("chenming", 1, 3, 5, 6)  # chenming 累加和是 sum: 15

 

以上是关于python 动态参数的主要内容,如果未能解决你的问题,请参考以下文章

python在sqlite动态创建表源码

动态 Rstudio 代码片段

是否可以动态编译和执行 C# 代码片段?

python常用代码

支持动态或静态片段的不同屏幕尺寸?

python学习笔记012——pdb调试