考虑下面的代码:
class Dummy(object):
SHARED_0 = '0'
SHARED_1 = '1'
printOnlySharedVariablesValues(Dummy)
我希望打印的内容是:
{'0', '1'}
我试过:
class Pass(object):
pass
set(Dummy.__dict__) - set(Pass.__dict__)
这将产生:
set(['SHARED_0', 'SHARED_1'])
没什么大不了的。使用这些键,我可以得到值。不过,我认为这有点笨拙而不雅致。
我的问题是: 在Python中只打印类共享变量的最佳方法是什么?
我想指出的是,这里提供的答案:How can I get only class variables?并不能让我满意,它甚至比我的解决方案更粗糙
可以使用以下代码打印非私有(不以下划线开头)且值不是类方法类型的类属性
输出
通过迭代类的
__dict__
或vars()
中的项相关问题 更多 >
编程相关推荐