Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当前函数中的getattr_Python - Fatal编程技术网

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