2024-05-23 23:12:55 发布
网友
在javascript中,可以通过以下方式创建对象:
const a = 5; const b = 10; const c = {a, b}; // This will make c = {a: 5, b: 10}
Python中有这样的“速记”吗
到目前为止,我必须做:
a = 5 b = 10 c = {'a': a, 'b': b}
在这种情况下,答案是“否”,因为示例中的a和b是_umain__uu或其他模块中int对象的标签。a没有任何类似于属性“a”的东西
然而,更接近您可能想要的东西是可能的,尽管它肯定是一个肮脏的黑客,这完全取决于您正在做什么。例如,如果从main运行:
a = 5 b = 10 c = {i : eval(i) for i in dir() if "_" not in i}
这是因为“a”和“b”(即名称/标签)确实存在于更高的对象中,即_umain__;或您的模块中。您需要过滤器来排除其他隐藏属性。这个例子有很多原因,首先是使用dir(),但在更合适的情况下,例如当a和b是较低对象的属性时,这个原则会起作用。然而,在这种情况下,我无法想象你为什么要这样做,因为你基本上已经拥有了那本字典
因此,在python中这是非常困难的,因为根本不需要这样做
在这种情况下,答案是“否”,因为示例中的a和b是_umain__uu或其他模块中int对象的标签。a没有任何类似于属性“a”的东西
然而,更接近您可能想要的东西是可能的,尽管它肯定是一个肮脏的黑客,这完全取决于您正在做什么。例如,如果从main运行:
这是因为“a”和“b”(即名称/标签)确实存在于更高的对象中,即_umain__;或您的模块中。您需要过滤器来排除其他隐藏属性。这个例子有很多原因,首先是使用dir(),但在更合适的情况下,例如当a和b是较低对象的属性时,这个原则会起作用。然而,在这种情况下,我无法想象你为什么要这样做,因为你基本上已经拥有了那本字典
因此,在python中这是非常困难的,因为根本不需要这样做
相关问题 更多 >
编程相关推荐