首页 > 解决方案 > 在python中设置字典键函数

问题描述

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

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

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

标签: pythondictionaryoop

解决方案


您可以使用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

推荐阅读