您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Python 3.8 新特性片面解读(5)
    时间:2019-04-02 12:06 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    7    // Workaround for Python issue 35810; no longer necessary in Python 3.8 

    8    PY_INCREF(type) 

    9#endif 

    10    return foo; 

    11

    确保 tp_dealloc堆分配类型的一切自定义函数都增加了类型的援用计数。

    例:

    1 static void 

    2foo_dealloc(foo_struct *instance) { 

    3    PyObject *type = Py_TYPE(instance); 

    4    PyObject_GC_Del(instance); 

    5#if PY_VERSION_HEX >= 0x03080000 

    6    // This was not needed before Python 3.8 (Python issue 35810

    7    Py_DECREF(type); 

    8#endif 

    9

    CPython字节码更改

    经过移动将块堆栈展开到编译器中的逻辑,简化了解释器循环。编译器如今收回显式指令,用于调整值堆栈并调用清算代码break,continue和 return。

    删除操作码BREAK_LOOP,CONTINUE_LOOP, SETUP_LOOP和SETUP_EXCEPT。添加了新的操作码ROT_FOUR,BEGIN_FINALLY,CALL_FINALLY和 POP_FINALLY。改动了END_FINALLY和WITH_CLEANUP_START。 添加了新的操作码,END_ASYNC_FOR`用于处置在等候循环中的下一个项目时引发的异常。

    【编辑引荐】

    微软越来越接近开发一个适用的DNA数据存储系统

    涵盖15个范围,GitHub 优质开源 Python 项目大合集

    前端开发值得拥有的 VSCode 插件

    阿里工程师开发了一款收费工具,提升Kubernetes运用开发效率

    Vim哭了,阅读器就能远程VS Code开发,还支持Docker快速部署运转

    (责任编辑:admin)