python方法作为变量

python方法作为变量,python,python-3.x,Python,Python 3.x,Python(3.7) 我试图编写一个简单的函数,从Salesforce对象(表)返回元数据,其中表名是一个参数。在下面的示例中,Booking___c是一个对象(表)名称,它按预期返回collections.OrderedDict from simple_salesforce import Salesforce sf=Salesforce(username,password,organizationId) table_info=sf.Booking__c.describe() 但是,我需要

Python(3.7)

我试图编写一个简单的函数,从Salesforce对象(表)返回元数据,其中表名是一个参数。在下面的示例中,Booking___c是一个对象(表)名称,它按预期返回
collections.OrderedDict

from simple_salesforce import Salesforce
sf=Salesforce(username,password,organizationId)

table_info=sf.Booking__c.describe()
但是,我需要编写一个函数,以便可以对多个表重用它。我尝试了exec(),但它返回NoneType

def all_columns(table):
    c = exec("sf.table.describe()")
    return c

我知道不建议使用exec(),因此如果有合适的方法来实现这一点,或者至少对exec有帮助,我将非常感谢您的建议。

如果您需要返回值,我认为这里需要
eval
,因为我相信
exec
纯粹是为了执行副作用

不过,这两种方法都没有必要。您可以使用
getattr
按名称访问对象的属性:

c = getattr(sf, table).describe()