gpt4 book ai didi

python - SQLAlchemy ORM 教程在其 __repr__ 值周围放置尖括号是否有原因?

转载 作者:太空狗 更新时间:2023-10-30 02:49:27 59 4
gpt4 key购买 nike

SQLAlchemy ORM 教程使用了这个类:

>>> from sqlalchemy import Column, Integer, String
>>> class User(Base):
... __tablename__ = 'users'
...
... id = Column(Integer, primary_key=True)
... name = Column(String)
... fullname = Column(String)
... password = Column(String)
...
... def __init__(self, name, fullname, password):
... self.name = name
... self.fullname = fullname
... self.password = password
...
... def __repr__(self):
... return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)

为什么您要费尽心机地让一个在 eval() 时可以很好地工作的字符串,只是为了破坏该功能但用尖括号将其括起来?

我意识到 eval(repr(foo)) 习语远非 __repr__ 的唯一目的,但它似乎故意如此似乎仍然很奇怪在这里禁用。我是否遗漏了一些更重要的逻辑,或者这只是一些武断的决定?

最佳答案

尖括号约定由 Python 解释器本身使用,所以这更像是...GVR 的问题?

>>> class Foo(object):
... pass
...
>>> f = Foo()
>>> print repr(f)
<__main__.Foo object at 0x1004ab290>

关于python - SQLAlchemy ORM 教程在其 __repr__ 值周围放置尖括号是否有原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221324/

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