python函数输入到字符串中

时间:2017-07-28 20:10:17

标签: python python-2.7 function variables

如何编写一个接受变量并使用变量名称将其指定为字符串的函数?

def one_function(dataframe):

    <does some numeric operation...>

    print('dataframe')

所以例如

df_wow=pd.DataFrame([1,2,3])

one_function(df_wow)
'df_wow'

Different_data_frame=pd.DataFrame([99,98,100])
one_function(Different_data_frame)
'Different_data_frame'

修改

在做了一些更多的研究以及评论和回复之后,我得出的结论是,它无法完成。 我通过传递另一个论点来解决这个问题

def one_function(dataframe,name_arg):
    <does some numeric operation...>

    print(name_arg)

我的最终目标实际上是命名数据框的索引。所以实际上我最后编写了以下函数

def one_function(dataframe,name_arg):

    <does some numeric operation...>

    dataframe.index.name=name_arg
    return(dataframe)

1 个答案:

答案 0 :(得分:1)

不,你不能,在传递参数时,只将参数的传递(复制)到函数中。

但是,如果使用关键字参数,则可以实现类似的功能:

In [1]: def one_function(**kwargs):
   ...:     print(kwargs.keys()[0])
   ...:     

In [2]: one_function(foo=5)
foo

此示例打印一个(随机)参数,如果您有多个参数,则可以遍历.keys()列表并打印全部或随意执行任何操作。