Python:列引号之间的函数参数

时间:2019-01-28 00:03:03

标签: python function

基本上,我需要以下内容:

data['sales']*10
data['height']*10

我面临的基本问题是如何创建一个函数,在其中可以编写变量名称而无需 在函数中添加引号。 这可能吗?例如,就像在“”中写一个特殊字符表示一个单词是一个自变量一样。

def function(var1):
   p=data['var1']*10  #The error is here; I tried p=data["'"+var1+"'"]*10
                    #Is there a way to indicate var1 is not a string,
                    #like p=data['&var1']*10
return p

function(sales)
function(height)

我知道这个问题很基本,但是我需要知道是否可能。如果没有,我将创建所有函数并为每个参数添加引号。谢谢。

1 个答案:

答案 0 :(得分:2)

您只需要将字符串(字段/列名)作为参数传递给函数,该参数将存储在变量var1中。然后,您无需在函数内的var1周围加上引号。例如,执行以下

def function(var1):
   p=data[var1]*10  #The error is here; I tried p=data["'"+var1+"'"]*10
                    #Is there a way to indicate var1 is not a string,
                    #like p=data['&var1']*10
   return p

function('sales')
function('height')