deepcopy从copy不会复制一个类:
>>> class A(object):
>>> ARG = 1
>>> B = deepcopy(A)
>>> A().ARG
>>> 1
>>> B().ARG
>>> 1
>>> A.ARG = 2
>>> B().ARG
>>> 2
Run Code Online (Sandbox Code Playgroud)
这是唯一的方式吗?
B(A):
pass
Run Code Online (Sandbox Code Playgroud) 我需要从DEFAULTS字典动态创建类属性.
defaults = {
'default_value1':True,
'default_value2':True,
'default_value3':True,
}
class Settings(object):
default_value1 = some_complex_init_function(defaults[default_value1], ...)
default_value2 = some_complex_init_function(defaults[default_value2], ...)
default_value3 = some_complex_init_function(defaults[default_value3], ...)
Run Code Online (Sandbox Code Playgroud)
我也可以通过某事来实现这个目标.喜欢__init__用于类创建,以便从字典中动态创建这些属性并保存大量代码和愚蠢的工作.
你会怎么做?
非常感谢你提前!