推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
zywscq
V2EX  ›  Python

Python 3.12 的 5 大实用新特性

  •  
  •   zywscq · Dec 24, 2023 · 7067 views
    This topic created in 1048 days ago, the information mentioned may be changed or developed.
    1. 一种新的类型声明来创建类型别名
    2. 更精确的 **kwargs 类型标注:结合 TypedDict 和 Unpack"
    3. f-字符串的功能更加强大了
    4. 新的 @override 装饰器
    5. 部分错误信息能提供更多详情

    详情参阅本篇英文文章: https://medium.com/techtofreedom/5-handy-python-3-12-new-features-that-improve-your-coding-experience-fe2d6e1f05b4?sk=3a754a89024869c97691d48b87a31870

    16 replies  •  2023-12-25 09:18:20 +08:00
    passive
    passive
    Dec 24, 2023 via Android
    1
    越来越有 20 年前的 Perl 的感觉了
    Sezxy
    Sezxy
    Dec 24, 2023
    2
    f 字符串的功能看着更复杂了
    popil1987
    popil1987
    Dec 24, 2023
    3
    再加就木有简单性了,新人不愿使用了,也别多线程了,最多使劲增加性能就好了。语法方面真的比 javascript 好多了
    RVRGnXxwawP5kwKW
    RVRGnXxwawP5kwKW
    Dec 24, 2023 via iPhone
    4
    @popil1987 同感。js 那语法,头皮发麻。
    june4
    june4
    Dec 24, 2023
    5
    不同感,不如 js ,语法更简单,表达力更强(多行匿名函数等),包系统更简单方便,ts 类型强得多,性能更是数量级碾压。
    NessajCN
    NessajCN
    Dec 24, 2023
    6
    语法方面啥时候 lambda 能跟 () => {} 一样好用就好了
    Muniesa
    Muniesa
    Dec 24, 2023 via Android
    7
    @popil1987 我倒觉得还好,因为简单的语法都还在,全靠简单的语法也能完成大部分任务,新人刚学也用不上类型标注装饰器这种东西
    bestcondition
    bestcondition
    Dec 24, 2023 via Android
    8
    @NessajCN 不行,因为 python 靠缩进区分代码块
    009694
    009694
    Dec 24, 2023 via iPhone❤️1
    9
    @popil1987 简单性又不是语法决定,是抽象决定的。。c 只有十几个关键字,半小时就能全部学完,c 简单吗?
    565656
    565656
    Dec 24, 2023
    10
    @Goooooos #2 挺好的,不用套单引号双引号了,自动识别
    AV1
    AV1
    Dec 24, 2023
    11
    @popil1987
    python 好好当个胶水就好了,没必要追求性能。因为追求性能,也是有代价的,JS 就是个例子。
    em70
    em70
    Dec 24, 2023
    12
    用了这些新特性的库,要求至少 3.12,适配环境成本就高了,能不用尽量不用
    crackidz
    crackidz
    Dec 24, 2023
    13
    @DOLLOR 你是指所有都用 JS 重写吗
    AV1
    AV1
    Dec 24, 2023 via Android
    14
    @crackidz JS 性能好,但也要在别的地方付出相应的代价。比如更高的内存占用,更大的运行时体积,而且 JS 调用 C/C++模块也不如 python 方便。
    F7TsdQL45E0jmoiG
    F7TsdQL45E0jmoiG
    Dec 25, 2023
    15
    python 越来越变味儿,捏着鼻子用
    vialon17
    vialon17
    Dec 25, 2023
    16
    感觉把 glc 干掉,把性能优化下,py 会更加完美点;
    语法糖方面其实做的挺好的,感觉不需要添加新的 feature 。
    XIVN1987
    XIVN1987
    Dec 25, 2023
    17
    这 5 个更新也没添加什么新东西

    1 、这个还挺合理的,,看起来也很简单、清晰,,没啥学习成本
    2 、这个理由很充分,,但感觉加 Unpack 没必要,,也许未来会简化语法(就比如 3.10 中使用 int | str 取代原有的 Union[int, str])
    3 、这个也没啥学习负担吧,,就是 f-string 里相同括号可以嵌套了
    4 、就添加了一种装饰器而已,,装饰器属于 Python 基本语法了,,
    5 、这个就更没学习成本了。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4767 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 01:35 · PVG 09:35 · LAX 17:35 · JFK 20:35
    ♥ Do have faith in what you're doing.