如何获取传递给Python函数的参数的文字值?

时间:2014-05-18 18:39:30

标签: python python-3.x

Python(3)功能可以"知道"传递给它的参数的文字值?

在下面的示例中,我希望函数listProcessor能够打印传递给它的列表的名称:

list01 = [1, 3, 5]
list02 = [2, 4, 6]

def listProcessor(listName):
    """
    Function begins by printing the literal value of the name of the list passed to it
    """

listProcessor(list01)  # listProcessor prints "list01", then operates on the list.
listProcessor(list02)  # listProcessor prints "list02", then operates on the list.
listProcessor(anyListName) # listProcessor prints "anyListName", et cetera…

我最近才恢复编码(Python 3)。到目前为止,我所尝试的一切都是“解释”#34;参数并打印列表而不是名称。所以我怀疑我忽略了一些非常简单的方法来捕捉"传递给Python函数的参数的字面值。

此外,在此示例中,我使用了列表的名称作为参数,但我们真的想了解如何捕获任何类型的参数的文字值。

1 个答案:

答案 0 :(得分:0)

虽然有一些名为introspection的东西,在某些情况下可用于获取变量的名称,但您可能正在寻找不同的数据结构。如果您将数据放在dict中,则可以在键中使用“标签”,在值中使用“列表”:

d = { "list01": [1, 3, 5],
      "list02": [2, 4, 6] }


def listProcessor(data, key):
    print key
    print data[key]

listProcessor(d, "list01")