您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python中模拟赋值运算符重载?

如何在Python中模拟赋值运算符重载?

我最终创建了一个名为ModelMeta的Model元类,该元类注册了类型化的属性

参见http://github.com/espeed/bulbs/blob/master/bulbs/model.py

在这种情况下,类型化的属性是图形数据库属性”,它们都是Property类的所有子类。

参见https://github.com/espeed/bulbs/blob/master/bulbs/property.py

这是一个示例模型声明:

# people.py

from bulbs.model import Node, Relationship
from bulbs.property import String, Integer, DateTime
from bulbs.utils import current_datetime

class Person(Node):

    element_type = "person"

    name = String(nullable=False)
    age = Integer()


class KNows(Relationship):

    label = "kNows"

    created = DateTime(default=current_datetime, nullable=False)

用法示例:

>>> from people import Person
>>> from bulbs.neo4jserver import Graph
>>> g = Graph()

# Add a "people" proxy to the Graph object for the Person model:
>>> g.add_proxy("people", Person)

# Use it to create a Person node, which also saves it in the database:
>>> james = g.people.create(name="James")
>>> james.eid
3
>>> james.name
'James'

# Get the node (again) from the database by its element ID:
>>> james = g.people.get(james.eid)

# Update the node and save it in the database:
>>> james.age = 34
>>> james.save()

# Lookup people using the Person model's primary index:
>>> nodes = g.people.index.lookup(name="James")

看到…

python 2022/1/1 18:25:41 有512人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶