栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

异步在python3.5中设置描述符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

异步在python3.5中设置描述符

您尝试执行的操作是不可能的(使用Python 3.5)。

虽然

__get__
返回Future是明智的
__set__
,但Python
3.5完全不支持进行异步。
__set__
Python会忽略的返回值,因为没有赋值的“返回值”。且呼叫
__set__
始终是同步的。就像您已经注意到的那样,
a= (b.c = 5)
实际上会引发a
SyntaxError

如果

await device.attr =5
允许类似异步分配,那么异步描述符可能会有一个单独的协议,即协程,
__aget__
__aset__
作为类似于异步上下文管理器(
asyncwith
/
__aenter__
)和异步迭代(
async for
/
__aiter__
)的特殊方法。有关/支持背后的设计决策,请参见PEP
492
async``await

还要注意,

__get__
归还未来不会产生
__get__
协程。

没有更多上下文,您似乎希望在描述符协议提供的属性访问抽象后面隐藏某些内容,最好将其明确地完成,但这当然取决于您。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/414619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号