相关疑难解决方法(0)

如何复制python类?

deepcopycopy不会复制一个类:

>>> 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)

python

47
推荐指数
4
解决办法
5万
查看次数

动态创建类属性

我需要从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__用于类创建,以便从字典中动态创建这些属性并保存大量代码和愚蠢的工作.

你会怎么做?

非常感谢你提前!

python class-attributes

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×2

class-attributes ×1