从词典创建或赋值变量

2022-03-30 00:00:00 python extract variables

问题描述

我以前试过问这个问题,但没有人明白我想问什么。所以我找到了用PHP编写的示例。

// $_POST = array('address' => '123', 'name' => 'John Doe');
extract($_POST);
echo $address;
echo $name

在Python中是否有类似extract()的函数?

字典也是如此:

mydict = {'raw':'data', 'code': 500}
// some magic to extract raw and code as vars
print raw

附注:我为什么要这样做:当你在类方法中时,当字符串是self.data['raw']['code']时,在join()format()中对字符串进行6次操作是非常困难的(假设它是词典中的一个词典)。


解决方案

好的php兄弟们,这里有一个坏消息,python不能从空间之外创建变量……像php一样可以:${$var}。使用local()是一个非常糟糕的主意,因为您在调试时会遇到很多问题,而且其中已经定义了一些本地变量。所以做这件事真的很不好…

您不能像php那样以编程方式创建它。我认为这叫做非显式,这是一种常规的方法:您总是知道变量名。这种东西在某些情况下简直就是自杀,你需要手写成吨的变量…我主要是因为XML解析之类的事情而不高兴,但似乎有方法可以将Python字典转换为类,昨天我被告知了这一点,但仍然没有检查它是如何工作的(类似here)

相关文章