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函数的参数的字面值。
此外,在此示例中,我使用了列表的名称作为参数,但我们真的想了解如何捕获任何类型的参数的文字值。
答案 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")