首页 > 解决方案 > 如何在python中从*args打印变量名

问题描述

我已经定义了一个带有可变数量参数的函数。

这些参数都是浮点数列表,每个变量都有一个名称,比如a, b, c, 用于 3 个参数。它们看起来像:

a=[1,2]
b=[3,4]
c=[5,6]

我希望能够使用这些参数的名称,即

def function(*args):
    for arg in args:
        plt.plot(x_value, arg, label="the name of arg")

我将函数称为function(a,b,c)

"the name of arg"应该是afor循环第一次迭代的字符串,for循环b第二次迭代的字符串和for循环c第三次迭代的字符串。

我应该把什么放在那里label= ?我尝试了各种方法,它们都导致打印字符串arg或实际值arg,即 for 循环的第一次迭代的 [1,2]。

谢谢!

标签: python

解决方案


如果您想要参数名称,则必须使用命名参数或字典。

def function(**kwargs):
    for name, value in kwargs.items():
        plt.plot(x_value, value, label=name)

function(a=a, b=b, c=c)

这会将三个命名参数传递给函数abc


推荐阅读