我有一个非常大的字符串,这使我可以访问另一个类中另一个字典中的字典。
self.app_data.ip_table[self.app_data.cfg.MY_IP]['tasks']
如果我按字符串的顺序使用这个字典,我可以写这样的东西(我想是这样的):
with self.app_data:
...
但我在所有文件的不同行中使用此变量,我不能使用with
指令。我认为,在C ++中我们可以使用像#define VAR very.long.access.path.to.variable
这样的东西。
在python中有类似的东西吗?我可以缩短变量访问名称吗?
P.S。 该long-access-name变量随其他线程而变化。我不需要将它分配给另一个变量。我正在寻找代码
的短文本答案 0 :(得分:1)
可能使用属性吗?
class C:
def __init__(self, ...):
self.app_data = get_app_data()
@property
def var(self):
return self.app_data.very['long'].path.here
@var.setter
def var(self, value):
self.app_data.very['long'].path.here = value
c = C()
print c.var
c.var = 1337
如果您希望在多个线程中读取/写入此数据,也可以在内部使用互斥锁创建var_threadsafe
属性。