gpt4 book ai didi

python - 是否可以创建一个 Python 列表并伪造它?

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:31 25 4
gpt4 key购买 nike

我正在使用 Neo4j 图形数据库,并且想调整当前的 REST 库之一。想象一个有 20 个节点的数据库的情况。

>>> db = Database("http://localhost:7474")

我希望 API 尽可能简单,这样就可以用类似这样的东西获得第 14 个节点:

>>> db[14]

在 Neo4j 中,每个节点都有一个数字键。这意味着 db[14] 可以很好地映射到 http://localhost:7474/db/data/node/14 但是,我不想加载每个节点从数据库到 db 对象。我的首选行为是查找节点 14,如果数据库中不存在该值,则引发 IndexError。也就是说,我希望 db 对象为空但假装有一个值。

是否有可能制作出看起来像 list,但行为却大不相同的东西?

最佳答案

是的,您可以编写一个自定义类来实现 __getitem__ 并动态生成结果。

>>> class MyDatabase(object):
... def __getitem__(self, x):
... if 10 <= x <= 15:
... return "foo"
... else:
... raise IndexError('key not in database')
...
>>> db = MyDatabase()
>>> db[12]
foo

参见 Special method names获取更多信息。

关于python - 是否可以创建一个 Python 列表并伪造它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4698755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com