是否可以创建单个Amazon CloudFormation堆栈模板,例如在ap-southeast-1中实例化AWS :: EC2 :: Instance,在us-west-2中实例化另一个AWS :: EC2 :: Instance?
我怀疑没有,但我还没有找到一个明确的是/否说堆栈不能拥有跨越多个区域的资源.
我所知道
的 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__。我已经阅读了该文档,但没有看到与该概念有任何关系。我错过了什么吗?