内存高效的Python对象
项目描述
Atom是一个用于创建具有动态初始化、验证和对象属性变更通知等增强功能的内存高效Python对象的框架。它为Enaml UI框架提供默认的模型绑定行为。
示例
from atom.api import Atom, Str, Range, Bool, observe
class Person(Atom):
""" A simple class representing a person object.
"""
last_name = Str()
first_name = Str()
age = Range(low=0)
debug = Bool(False)
@observe('age')
def debug_print(self, change):
""" Prints out a debug message whenever the person's age changes.
"""
if self.debug:
templ = "{first} {last} is {age} years old."
s = templ.format(
first=self.first_name, last=self.last_name, age=self.age,
)
print(s)
def _default_first_name(self):
return 'John'
john = Person(last_name='Doe', age=42)
john.debug = True
john.age = 43 # prints message
john.age = 'forty three' # raises TypeError
从atom 0.8.0版本开始,atom对象也可以使用类型注解定义。
from atom.api import Atom, observe
class InventoryItem(Atom):
"""Class for keeping track of an item in inventory."""
name: str
unit_price: float
quantity_on_hand: int = 0
def total_cost(self) -> float:
return self.unit_price * self.quantity_on_hand
@observe("unit_price")
def check_for_price_reduction(self, change):
savings = change.get("oldvalue", 0) - change.get("value")
if savings > 0:
print(f"Save ${savings} now on {self.name}s!")
>>> w = InventoryItem(name="widget", unit_price=1.99, quantity_on_hand=10)
>>> w.unit_price = 1.00
Save $0.99 now on widgets!
有关版本信息,请参阅修订历史。
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分布
atom-0.10.5.tar.gz (170.2 kB 查看哈希值)
构建分布
atom-0.10.5-cp312-cp312-win_amd64.whl (133.2 kB 查看哈希值)
atom-0.10.5-cp312-cp312-win32.whl (120.6 kB 查看哈希值)
atom-0.10.5-cp311-cp311-win_amd64.whl (132.4 kB 查看哈希值)
atom-0.10.5-cp311-cp311-win32.whl (119.7 kB 查看哈希值)
atom-0.10.5-cp310-cp310-win_amd64.whl (132.5 kB 查看哈希值)
atom-0.10.5-cp310-cp310-win32.whl (119.8 kB 查看哈希值)
atom-0.10.5-cp39-cp39-win_amd64.whl (132.7 kB 查看哈希值)
atom-0.10.5-cp39-cp39-win32.whl (120.0 kB 查看哈希值)
atom-0.10.5-cp39-cp39-macosx_11_0_arm64.whl (147.3 kB 查看哈希值)
atom-0.10.5-cp38-cp38-win_amd64.whl (132.4 kB 查看哈希值)
atom-0.10.5-cp38-cp38-win32.whl (119.9 kB 查看哈希值)
atom-0.10.5-cp38-cp38-macosx_11_0_arm64.whl (146.9 kB 查看哈希值)
关闭
atom-0.10.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f5b8d617eaed71d97c5b79a78f8f531355cf7c45b135648265bfb3964050ec8a |
|
MD5 | 469acea01d9fd1370180108ad8716cc8 |
|
BLAKE2b-256 | 059ff747dc2928c8994d312a01f1224f7d02c75a09a65dd1683a5bb3485d8eea |
关闭
atom-0.10.5-cp312-cp312-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fc4c9c6975ff65fc2b2e02c18b6e6e26d3db8b88cfe9bbb8438c904251d50cc9 |
|
MD5 | 2460e8e364fc9b3177ec40ad62b8ca91 |
|
BLAKE2b-256 | f39e2d6008d0be1d65e5d68fed6e33cbf24cda325a66774a1ebb6313f99beff8 |
关闭
atom-0.10.5-cp312-cp312-win32.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 15208f743314f092ba0277435905f997d042726562224722893f547c24b4b6cf |
|
MD5 | 0352434270aff96cb9be963300824ac4 |
|
BLAKE2b-256 | 24f119cfdfe020f31828dc8600fdae31c0298eb31ca696fd5b7bd58f114ea507 |
关闭
atom-0.10.5-cp312-cp312-musllinux_1_2_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 28794b34673136d1bd10b846b8a1a1a85d2f33b30040ab3dfcea8a3f2e2fa759 |
|
MD5 | b2d387c9ded531568026d8b34ddbc009 |
|
BLAKE2b-256 | 6afa9371a9eaa002b9971dd461d4e01988a264ccd1ffd36474ed2cca62f2fde5 |
关闭
哈希值 用于 atom-0.10.5-cp312-cp312-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7d1fbb31b11b89175c8d0c033e52a3d18809125c486d9f910813cba39696e536 |
|
MD5 | 1b86ed96fe78207f6571d182dd9cb941 |
|
BLAKE2b-256 | 031fa4896b395fe524452bcea2f4e7f76dbdfb54bc516f912eed6094bb932fa9 |
关闭
哈希值 用于 atom-0.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 55c6f86013a91d62bb0bb1c817fe88677e426b373015bbd245dd7a626e58b715 |
|
MD5 | f5fb3251097ebb65e9db78da9dd56313 |
|
BLAKE2b-256 | 1dabf1845e41494d1f49a85566d1e365b19f03def9b6f5000822a8c7143ef350 |
关闭
哈希值 用于 atom-0.10.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b5b1b3f3d21e02a375389965f07801990cd0ac41f2ade9373f2ad0dac220f2e9 |
|
MD5 | 689f944b03622b2dc372b07f6d791fea |
|
BLAKE2b-256 | 707b218580d43e9b02d150bf5382e25bf65843b6fd39adf57769c4a35b673d17 |
关闭
哈希值 用于 atom-0.10.5-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d2e7cc6b72a6c2970b12552d16315d0290531581c340aae25728a4b5619c98f |
|
MD5 | e0f6dce6f55a1b0446511a5467d82267 |
|
BLAKE2b-256 | 8373266f6850f536c4927159b32b55c077d8a3e182f162022afd15a9226ae016 |
关闭
哈希值 用于 atom-0.10.5-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 98f033e04f218dddab19eebffaed85eadbd856f0e497926ba6716b66260cf57c |
|
MD5 | 4701ff9e00130c2611a335dce7bb554b |
|
BLAKE2b-256 | 4f804e70396e6f3bfe14fae678242730c63cc4a43d57dd488c28767d1a107d3c |
关闭
哈希值 用于 atom-0.10.5-cp312-cp312-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7734ce0e20d1f5a89e0b0350acc52d733bfa1cc13462218c26c87b02a5029f3 |
|
MD5 | 33c7b565002f7f96ce7df44b36072d6f |
|
BLAKE2b-256 | fceb9bf935e3709e72855ee57a9486cbfba6c3e2c84f20a4d2720279956a2263 |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51a0601becaf3bc0687aa864399a4de231b9b208966da658d13688598aeaf798 |
|
MD5 | cf10733503aaae540bf7d95e6d8260e2 |
|
BLAKE2b-256 | ae59fb67f64ddd3327b78c1a9a13dec1615102f74ff65e088ff03004ac0467ab |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 26f43923cea0fe970521e754a1347a1a405484aa4cbff9f9cabd47923df8c4df |
|
MD5 | 95e290744e30a3c6636cc2e92a3ad04c |
|
BLAKE2b-256 | 1fedbee2983b81e7d13cb1e7eb85e020d713a05115990b255e61883e9621ebf5 |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 129b6afcd872c6b5a4861b0fb4f1406ae23259a93628f604311b5a7f413fc85d |
|
MD5 | 071dba3979ad88ef3010eb1c56c0f65c |
|
BLAKE2b-256 | 86c1950a4da7c36734cf283c5f625d63d11a5b0f19faa9792735f6141e1f14ba |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 697673a5402a5e42dfef15cc8afb6da30eb093443fb43a8ba9713f5e1bef3702 |
|
MD5 | ae53c346526269fdda7c567c0b785256 |
|
BLAKE2b-256 | 001e13985796fffa3ee822f9662f70db0ff0cbe8f216bf3bb30382cdb820f3ca |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1f43b5ad5d0d0fa897b6cb815321157850ea80e3afd5ad6a9584b7e71db2b5a2 |
|
MD5 | 31b5939b296257223b1a91b66a4109f8 |
|
BLAKE2b-256 | 7ffa888b417562892f8c4f9bbf9492a9a45637374bcc5b5e5a0a3e6ba919a3b6 |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2cf8dcdaa1334ec2d561a80e896a2795d28c0c7f7883e78d953f8a33d5fb4fc |
|
MD5 | c814b16cbd0215a4e6b473dd02ba6097 |
|
BLAKE2b-256 | 30e34325c676b3e4ebbaa99509c5502900c11b1b73aa311f19446ac9df4dfcef |
关闭
哈希值 用于 atom-0.10.5-cp311-cp311-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9091a90d689ecc024c19eae7e53ad4e0fa523ca1c7f8034cb5e87ca53721903e |
|
MD5 | 615dcb64387f4a2ee32daeec406d2dda |
|
BLAKE2b-256 | e361c3573355a9127365598dd1d318979e7ed550c802fac54ea6ac07f7b5aeff |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4489c2e7359db2b5b4f9e3d445aa855f4e846853fcaadec1c58a5cb502f4f3ab |
|
MD5 | 453d74f47a0fb0b54f00d239bd50b1d8 |
|
BLAKE2b-256 | 6df0e00250e40eecbf114a66736fea472d859551a0da13e29d9ee7ede1a3d0d6 |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-musllinux_1_2_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c3e7159ad08c10d6fe63ef1820b04dccfd4919962de08f65b4c96f65c53851f |
|
MD5 | 8d951906ce58fef5d4f8c71fde6b822f |
|
BLAKE2b-256 | 49ebd574aeb2a601974008577bac50df56717a74530d67d160ad2937297a46da |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 04cdec5484c5ba67b8adc7a833542f94e2901d9de537a4614d2702d4a031641f |
|
MD5 | 0cd4ff6c5b65a5db799f5dbe6ddb6686 |
|
BLAKE2b-256 | 449c70cee4865e644258a56ce5c9d571efc9a11d1272b8cbf213eeb21bd47cf7 |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bab5b44df27de4e42e62f0641812a5e2902cbfb5d526e898d7da1ecdab1d329d |
|
MD5 | 622726e17707ae4420864516a565afb3 |
|
BLAKE2b-256 | d1c262852af4cdd704399157e3874f80adead8980f6b577bd7597b09388de45e |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a5f2096c598528f7299ef9e3f362bc921e88ee7dcd86bcd61be2bd77383441c5 |
|
MD5 | bb98d11b9e95361b99679a7201befa15 |
|
BLAKE2b-256 | 323d4e0727e46832e191463dca43c4d0203acf4bd54bd28aebc90f6ee58c869c |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 96ce21afd4686b81cc888d38f40aaca5471caa83633e04321ad2fb3d7a4a0fc7 |
|
MD5 | 2de47c551e97febc8bc4c7e288c71a69 |
|
BLAKE2b-256 | 87b89a7d8b5c3cdc57f6ee403a5d74ca044a211a25b523502f4207ef18a65f1f |
关闭
哈希值 用于 atom-0.10.5-cp310-cp310-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 67b605f481f5bd3fe10baa6cd1c59a491c8ec74ce8c8014ddfce8e6e55fad01e |
|
MD5 | 856fd4e8d37b71bd7652999138419843 |
|
BLAKE2b-256 | f7849c4483cc233db5367cd891362c8d7147bf7c8abe05a5cdf132bb17f77633 |
关闭
哈希值 for atom-0.10.5-cp39-cp39-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a30e05a395c4551027e8c0075affdbf3d2257121ba2ce089f00cb24631ceaf6a |
|
MD5 | 5a87d927c8eef3ae35acea9b524dfc57 |
|
BLAKE2b-256 | 4c76cc46a03b52141a241d22706647db5e25e957ac798ee81d5b032d06949d83 |
关闭
哈希值 for atom-0.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ba2a4b38c0c30fda119d81124ee292ac461358b3f93be43ed685ab9333e2e1e8 |
|
MD5 | 551b334d7786c47a275e11e4bd5b2b48 |
|
BLAKE2b-256 | 90a4fc14700071acbff1359207a1bbd2e426c1b75c62c795de6c4cb715ea8bc4 |
关闭
哈希值 for atom-0.10.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | efe3b6b5dd5ba3c3dd9a9f0999446cff499ed679e5c3d129efd8ffbdfe85aad3 |
|
MD5 | 3672ee7749d87f8499bd73046da2c5a9 |
|
BLAKE2b-256 | 7ef18ea8144cbca8b126353ff116f813d6d08df81bb47bf5537ecd49a524d048 |
关闭
哈希值 for atom-0.10.5-cp39-cp39-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a5758d40c9a41b23d9dc8960ec47f199c96ea9b939f63cba22c5b9a0f5d30181 |
|
MD5 | 411be87de35a1b0b5c84c3f214439499 |
|
BLAKE2b-256 | 9b19f000eee9d3c5107774f50e7d09abbb312e70dfb46700e3bb40db00c3e95d |
关闭
哈希值 for atom-0.10.5-cp38-cp38-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2241c4fed2a36eb7e76436de9d496cb194da5fed5197c776fb4173ff7547bf5c |
|
MD5 | 9a4313d069d533f1b843dac02ce851e0 |
|
BLAKE2b-256 | ae1e1ead549e244e0394802835e667801facf1d243b947b3daaf53d5f12ca739 |
关闭
哈希值 for atom-0.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd64356be91c81a2b6b9d4b32ba7a4f7212999cb1aab5337f044803b9125e748 |
|
MD5 | 6e0812317c3c9154fcc7ddd15c336398 |
|
BLAKE2b-256 | 4724fbb0330cc9df3fd68e7398b67d116cf6e67346b01cb313521c880a0953e6 |
关闭
哈希值 用于 atom-0.10.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1caa3fc1645c56222c42191736efe79178f6e8f5717027939b7d01e750a0bbf9 |
|
MD5 | 4289a802baa8ee517441db9680981db7 |
|
BLAKE2b-256 | 8df2fedcbff4d816c9bf2cbceef250c0eee7a4b96a0ae5a8515ec68a4a24b074 |
关闭
哈希值 用于 atom-0.10.5-cp38-cp38-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2020192bb8d51c2a1bd1fb7ad2414baac0c11c7b9c4a971c9435921bb6ef5af7 |
|
MD5 | a568f712e1f62419cb3fc20ce0de8d73 |
|
BLAKE2b-256 | f816ef7e75d7793d16182c33b246fbf4c93832fc14d8f2a4735763e5660bb6ae |