获取组合两个字符串的变量值
Get hold of variable value combining two strings
我想要 API 即时消息使用的动态参数。
为此,我正在寻找一种简单的方法来实现以下目标:
def __init__(self):
self.search_param_list = [from, to]
self.from = A
self.to = B
def search_params2(self):
parameters = {parameter: self.parameter for parameter in self.search_param_list}
return parameters
输出预计如下所示:
parameters ={"from": A, "to": B}
如果需要,我这样做是为了更改 init 中的参数,但如果不需要,我不必这样做。
from
是非法变量名。使用 from_
或其他东西。
将要搜索的名字保存为字符串。
通过 string-name 和 getattr
.
访问实例属性
class A:
def __init__(self):
self.x = 1
self.from_ = 2
self.to = 3
self.search_param_list = ['from_', 'to']
def search_params2(self):
return {p: getattr(self, p) for p in self.search_param_list}
演示:
>>> A().search_params2()
{'from_': 2, 'to': 3}
当然可以直接用vars
.
获取所有实例变量
>>> vars(A())
{'x': 1, 'from_': 2, 'to': 3, 'search_param_list': ['from_', 'to']}
我想要 API 即时消息使用的动态参数。 为此,我正在寻找一种简单的方法来实现以下目标:
def __init__(self):
self.search_param_list = [from, to]
self.from = A
self.to = B
def search_params2(self):
parameters = {parameter: self.parameter for parameter in self.search_param_list}
return parameters
输出预计如下所示:
parameters ={"from": A, "to": B}
如果需要,我这样做是为了更改 init 中的参数,但如果不需要,我不必这样做。
from
是非法变量名。使用 from_
或其他东西。
将要搜索的名字保存为字符串。
通过 string-name 和 getattr
.
class A:
def __init__(self):
self.x = 1
self.from_ = 2
self.to = 3
self.search_param_list = ['from_', 'to']
def search_params2(self):
return {p: getattr(self, p) for p in self.search_param_list}
演示:
>>> A().search_params2()
{'from_': 2, 'to': 3}
当然可以直接用vars
.
>>> vars(A())
{'x': 1, 'from_': 2, 'to': 3, 'search_param_list': ['from_', 'to']}