python - 在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
这样的功能会是什么样子?
解决方案
您可以使用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
推荐阅读
- url-rewriting - 带有 URL 重写的 signin-oidc 回调 404
- php - 来自数据库的错误数据
- .net - Task.Run(方法组)与 Task.Run(lambda)
- reactjs - gitlab-ci 配置,管道卡在单元测试中
- c# - DataTable 未在 sql server 中完全填充数据类型
- angular - 如何通过 forkjoin 组合多个 Observable 值以产生单个值 Observable
- c# - 十进制 SQL Server EF C# 的参数超出范围异常
- android - Android CameraX GLSurfaceView
- javascript - React 路由和 history.push
- javascript - 流式类型转换