【发布时间】:2020-01-03 12:15:44
【问题描述】:
我有一个类可以压缩给定的值来执行计算,它会返回一个字典,其中包含每个变量的结果。虽然**kwargs 可用于轻松获取变量名,但如果我只想使用原始变量名似乎真的很不方便。因此,我只想在需要指定变量名时使用**kwargs。
想要的结果:
>> a = 1; b = 2; c = 3
>> x = myClass(a,b,d=c) # variable names saved as a list during initialisation
>> x.result()
{'a': 1, 'b': 2, 'd': 3}
输入是pyspark 对象,因此该类应该获得分配的变量,而不是直接获得值。此外,预计每个输入都指向一个唯一的对象。
使用inspect.getouterframes() 有一个可能的解决方案,但它很长而且似乎根本没有效率。
【问题讨论】:
-
这个问题没有通用的解决方案 - an object may have one name, or many, or no name at all。
标签: python class global-variables args