Python 3.12 的 5 大实用新特性 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 2023-12-24 07:31:15 +08:00 4782 次点击
    这是一个创建于 672 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 条回复    2023-12-25 09:18:20 +08:00
    passive
        1
    passive  
       2023-12-24 08:20:59 +08:00 via Android
    越来越有 20 年前的 Perl 的感觉了
    Goooooos
        2
    Goooooos  
       2023-12-24 09:13:24 +08:00
    f 字符串的功能看着更复杂了
    popil1987
        3
    popil1987  
       2023-12-24 09:13:52 +08:00
    再加就木有简单性了,新人不愿使用了,也别多线程了,最多使劲增加性能就好了。语法方面真的比 Javascript 好多了
    RVRGnXxwawP5kwKW
        4
    RVRGnXxwawP5kwKW  
       2023-12-24 09:41:45 +08:00 via iPhone
    @popil1987 同感。js 那语法,头皮发麻。
    june4
        5
    june4  
       2023-12-24 10:09:26 +08:00
    不同感,不如 js ,语法更简单,表达力更强(多行匿名函数等),包系统更简单方便,ts 类型强得多,性能更是数量级碾压。
    NessajCN
        6
    NessajCN  
       2023-12-24 10:11:34 +08:00
    语法方面啥时候 lambda 能跟 () => {} 一样好用就好了
    Muniesa
        7
    Muniesa  
       2023-12-24 10:58:09 +08:00 via Android
    @popil1987 我倒觉得还好,因为简单的语法都还在,全靠简单的语法也能完成大部分任务,新人刚学也用不上类型标注装饰器这种东西
    bestcondition
        8
    bestcondition  
       2023-12-24 11:16:13 +08:00 via Android
    @NessajCN 不行,因为 python 靠缩进区分代码块
    009694
        9
    009694  
       2023-12-24 11:35:16 +08:00 via iPhone   1
    @popil1987 简单性又不是语法决定,是抽象决定的。。c 只有十几个关键字,半小时就能全部学完,c 简单吗?
    565656
        10
    565656  
       2023-12-24 14:18:59 +08:00
    @Goooooos #2 挺好的,不用套单引号双引号了,自动识别
    AV1
        11
    AV1  
       203-12-24 14:42:42 +08:00
    @popil1987
    python 好好当个胶水就好了,没必要追求性能。因为追求性能,也是有代价的,JS 就是个例子。
    em70
        12
    em70  
       2023-12-24 14:46:31 +08:00
    用了这些新特性的库,要求至少 3.12,适配环境成本就高了,能不用尽量不用
    crackidz
        13
    crackidz  
       2023-12-24 16:57:27 +08:00
    @DOLLOR 你是指所有都用 JS 重写吗
    AV1
        14
    AV1  
       2023-12-24 18:50:39 +08:00 via Android
    @crackidz JS 性能好,但也要在别的地方付出相应的代价。比如更高的内存占用,更大的运行时体积,而且 JS 调用 C/C++模块也不如 python 方便。
    F7TsdQL45E0jmoiG
        15
    F7TsdQL45E0jmoiG  
       2023-12-25 09:03:06 +08:00
    python 越来越变味儿,捏着鼻子用
    vialon17
        16
    vialon17  
       2023-12-25 09:03:40 +08:00
    感觉把 glc 干掉,把性能优化下,py 会更加完美点;
    语法糖方面其实做的挺好的,感觉不需要添加新的 feature 。
    XIVN1987
        17
    XIVN1987  
       2023-12-25 09:18:20 +08:00
    这 5 个更新也没添加什么新东西

    1 、这个还挺合理的,,看起来也很简单、清晰,,没啥学习成本
    2 、这个理由很充分,,但感觉加 Unpack 没必要,,也许未来会简化语法(就比如 3.10 中使用 int | str 取代原有的 Union[int, str])
    3 、这个也没啥学习负担吧,,就是 f-string 里相同括号可以嵌套了
    4 、就添加了一种装饰器而已,,装饰器属于 Python 基本语法了,,
    5 、这个就更没学习成本了。。
    关于     帮助文档       博客     API     FAQ     Solana     1329 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:48 PVG 00:48 LAX 09:48 JFK 12:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86