Python 当前函数中的getattr
是否有办法获取下面的Python 当前函数中的getattr,python,Python,是否有办法获取下面的name变量 def save_info(self): name = 'hello' var1 = 'other item' var2 = 1 ... TV_SERIES_FIELDS_TO_UPDATE = ['name', 'var2', 'var3', 'var4', ...] for field in TV_SERIES_FIELDS_TO_UPDATE: current_value = getattr_
name
变量
def save_info(self):
name = 'hello'
var1 = 'other item'
var2 = 1
...
TV_SERIES_FIELDS_TO_UPDATE = ['name', 'var2', 'var3', 'var4', ...]
for field in TV_SERIES_FIELDS_TO_UPDATE:
current_value = getattr_or_none(obj, field)
new_value = # how do I get the variable of `name` ("hello") ?
给定一个变量名字符串,如何在当前函数中获取其值?使用:
<>但是,我会敦促你考虑使用一个明确的字典而不是一堆不相关的变量。 你有两个选项
访问局部变量
def save_info(self):
name = 'hello'
var1 = 'other item'
var2 = 1
...
TV_SERIES_FIELDS_TO_UPDATE = ['name', 'var2', 'var3', 'var4', ...]
for field in TV_SERIES_FIELDS_TO_UPDATE:
current_value = getattr_or_none(obj, field)
new_value = locals().get(field)
但如果我是你,我会重写代码并使用字典
TV_SERIES_FIELDS_TO_UPDATE = { 'name_of_the_show': 'value', 'second_show': 'value2' }
for key, value in TV_SERIES_FIELDS_TO_UPDATE.items():
new_value = # od some magic with value
…什么?您是否尝试过
new\u value=name
?!“变量名<代码>名称<代码>”的确切含义是什么?@NPE请查看更新的问题是否需要将变量名存储为列表中的字符串?您可以只存储变量本身。@mattm--是的,我需要将它们存储为字符串。
TV_SERIES_FIELDS_TO_UPDATE = { 'name_of_the_show': 'value', 'second_show': 'value2' }
for key, value in TV_SERIES_FIELDS_TO_UPDATE.items():
new_value = # od some magic with value