【问题标题】:set dictionary key function in python在python中设置字典键函数
【发布时间】:2020-09-26 18:03:19
【问题描述】:

我想知道如何创建一个函数来设置字典的键。考虑以下类:

class Dog:
    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

现在让我们实例化对象:

a_dog = Dog("Berty", "Hollows")

现在我想创建一个函数,它返回名字或姓氏,具体取决于我传递给它的参数。我的想法是这样的:

def return_dogs_name(dog, get_dict_key(x)):
     return dog.get_dict_key(x)

与

def get_dict_key(x):
    return x

但是,这不起作用。

我想要的输出看起来像

return_dogs_name(a_dog, get_dict_key("first_name"))
>>> Berty

这样的功能会是什么样子?

【问题讨论】:

    标签: python dictionary oop


    【解决方案1】:

    您可以使用getattr:

    class Dog:
        def __init__(self, first_name, last_name):
            self.first_name = first_name
            self.last_name = last_name
    
    def return_dogs_name(dog, attrName):
         return getattr(dog, attrName)
    
    a_dog = Dog("Berty", "Hollows")
    print(return_dogs_name(a_dog, 'first_name'))
    

    输出:

    Berty
    

    【讨论】:

      【解决方案2】:

      你可以在你的函数中创建一个字典

      class Dog:
          def __init__(self, first_name, last_name):
              self.first_name = first_name
              self.last_name = last_name
      
      a_dog = Dog("Berty", "Hollows")
      
      def return_dogs_name(dog,which_name):
          return {'first': dog.first_name,'last': dog.last_name}.get(which_name,'unknown')
      
      print(return_dogs_name(a_dog,'last'))
      

      输出:

      Hollows
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-28
        • 1970-01-01
        相关资源
        最近更新 更多