首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么sqlite3仍然使用__conform__?

为什么sqlite3仍然使用__conform__?
EN

Stack Overflow用户
提问于 2018-04-05 13:07:23
回答 1查看 703关注 0票数 9

我注意到sqlite3-library仍然使用__conform__-method来调整对象以存储在数据库中。

然后,您需要给类一个方法__conform__(self, protocol),该方法必须返回转换后的值。

^ Python文档12.6.6.2.1 ^

这似乎遵循了佩普246,它指定了__conform__-method,但它已被拒绝;

我拒绝了这个计划。一些更好的事情即将发生,现在说出确切的结果还为时过早,但它不会太接近PEP中的提议,所以最好启动一个新的PEP。GvR。

PEP 246的拒收通知书

现在,怎么可能是一个正式的Python库实现了在一个显式为标准的建议中定义的已拒绝

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-14 21:57:32

PEP 246是使用特定名称实现特定设计模式(测试传入对象是否符合给定协议)的建议。如果被接受,这个提议将为Python (__conform__)添加一个新的特殊方法,以及一个新的内置函数(adapt)。

PEP的决定只是拒绝标准化。它不禁止任何Python包设计人员在代码中内部创建和使用这样的模式/命名约定。这类似于sqlite3开发人员在命名Cursor方法fetchone()而不是fetchnext()方面的自由。他们可以在合理和实用的范围内,任意命名/设计他们的包组件。

Update - 据埃里克·斯诺说,关于承诺将到来的“更好的东西”:

当时它提到了泛型函数(a la PEP 3124:重载、泛型函数、接口和适应)。然而,最终进入这个空间的是抽象基类(PEP 3119)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49673192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档