【问题标题】:In python, is it possible to fetch variable value, where the variable name is passed as a function argument [duplicate]在python中,是否可以获取变量值,其中变量名作为函数参数传递[重复]
【发布时间】:2022-06-14 09:25:52
【问题描述】:

我试图通过将变量名称传递给调用函数来获取变量值。 我的意图是根据作为参数传递的变量名获取变量值。

class myConfigConstants():
    Name = "XYZ"
    Address = "abcd"
    Age = 10

    def __init__(self):
        self.value = ""

    def fetch_myConfigConstants(self, strVariableName: str):
        self.value = myConfigConstants.strVariableName
        print(self.value)
        return self.value

mc = myConfigConstants()
mc.fetch_myConfigConstants('Name')

预期输出: XYZ

这会导致错误: AttributeError:类型对象“myConfigConstants”没有属性“strVariableName”

我知道它正在寻找确切的属性,但是如何使传递的参数名称在运行时解析为实际属性。

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    你可以使用getattr函数。

    getattr(self, strVariableName)
    

    在您的代码中,

    ...
    def fetch_myConfigConstants(self, strVariableName: str):
        self.value = getattr(self, strVariableName)
        print(self.value)
        return self.value
    

    【讨论】:

      【解决方案2】:

      您可以为此使用getattr

      self.value = getattr(myConfigConstants, strVariableName)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-30
        • 2016-01-13
        • 2019-08-16
        • 2018-10-20
        • 1970-01-01
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多