- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何让它在 @dataclass
修饰的 Python 类中设置拼写错误的字段时引发异常?
我想要一个实用的方法来做到这一点。我是否需要改为编写自己的装饰器?
@dataclass
class C(object):
x: int = 1
obj = C()
obj.y = 2 # should raise an exception
最佳答案
一种直接的方法(适用于任何类)是定义__slots__
:
In [1]: from dataclasses import dataclass
In [2]: @dataclass
...: class Foo:
...: __slots__ = 'bar','baz'
...: bar: int
...: baz: int
...:
In [3]: foo = Foo(42, 88)
In [4]: foo.biz = 10
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-4-d52b60444257> in <module>()
----> 1 foo.biz = 10
AttributeError: 'Foo' object has no attribute 'biz'
插槽的目的是作为一个小的优化。它允许类的实例使用符号表而不是 dict
作为类的命名空间。它略微提高了属性访问的速度,并且可以显着提高每个实例的内存使用率(因为实例不携带 dict
在引擎盖下),但是,它不允许动态属性设置。
这实际上是 __slots__
我最喜欢的功能。
请注意,在对插槽使用继承时必须小心,至少,如果您希望子类保留插槽行为。
关于python - @dataclass Python 类中拼写错误的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53773722/
我想通过用语言环境拼写数字来本地化数字,最后使用了 ICU4J。我在许多地区都取得了成功,但似乎没有在格鲁吉亚、土耳其或阿拉伯语等地区完成。 ULocale locale = new ULocale(
我正在研究具有端点的 swagger API 规范: /authorizations 我也想为这个端点定义一个替代拼写(授权)。这可能吗?或者我是否需要为每个拼写定义一个单独的路由? /authori
我正在研究具有端点的 swagger API 规范: /authorizations 我也想为这个端点定义一个替代拼写(授权)。这可能吗?或者我是否需要为每个拼写定义一个单独的路由? /authori
我使用 Yahoo BOSS 的时间很短。这是一个简单的搜索 API,但拼写建议支持确实不那么强大。周围的人是否有任何关于在 BOSS 上获得更好的拼写建议的想法。 最佳答案 不幸的是,甚至在几年后,
问题如下:我正在编写一个强力解密器来破解一些 super secret 代码(这是一场竞赛,而不是犯罪),结果证明这是不可能的:树中的节点太多需要被搜查。为了克服这个问题,我认为检查中间“解决方案”以
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我是一名优秀的程序员,十分优秀!