小编Tay*_*lli的帖子

我想在多个地区创建包含资源的CloudFormation堆栈.这可能吗?

是否可以创建单个Amazon CloudFormation堆栈模板,例如在ap-southeast-1中实例化AWS :: EC2 :: Instance,在us-west-2中实例化另一个AWS :: EC2 :: Instance?

我怀疑没有,但我还没有找到一个明确的是/否说堆栈不能拥有跨越多个区域的资源.

aws-cloudformation

14
推荐指数
3
解决办法
7723
查看次数

控制Python数据类继承类时的初始化顺序

我所知道
的 Python 数据类允许使用数据类或类进行继承。在最佳实践中(以及在其他语言中),当我们进行继承时,应该首先调用初始化。在 Python 中它是:

def __init__(self):
    super().__init__()
    ...
Run Code Online (Sandbox Code Playgroud)

我在做什么
因为数据类是在 Python 3.7 中引入的,所以我正在考虑用数据类替换我的所有类。使用 dataclass,它的好处之一是__init__为您生成。当数据类需要继承基类时,这并不好——例如:

class Base:
    def __init__(self):
        self.a = 1

@dataclass
class Child(Base):
    a:int
    def __post_init__(self):
        super().__init__() 
Run Code Online (Sandbox Code Playgroud)

我的问题
问题是我们必须将超级初始化调用放入__post_init__其中,实际上是dataclass 的init之后调用的。
缺点是我们失去了约定契约,初始化混乱导致我们无法覆盖超类的属性。

可以通过 的概念解决__pre_init__。我已经阅读了该文档,但没有看到与该概念有任何关系。我错过了什么吗?

python inheritance python-dataclasses

13
推荐指数
3
解决办法
6910
查看次数