推荐学习书目
› 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 的类型提示越来越复杂了: Python3.13 又引入了类型注解新特性

  •  1
     
  •   zywscq · Sep 29, 2024 · 10635 views
    This topic created in 767 days ago, the information mentioned may be changed or developed.

    作为一个老 Python 开发,看了这篇 3.13 的类型注解新特性解读之后,头有点冷: https://medium.com/techtofreedom/7-new-typing-features-in-python-3-13-58caae5f2f10?sk=6ee66766ba372ea1f62b44a0ef08012d

    35 replies  •  2024-10-15 13:28:40 +08:00
    passive
    passive
    Sep 29, 2024 via Android❤️13
    1
    Whatever the world was like when I was 20 is perfect, everything before that is too old, everything after that is too new.
    billccn
    billccn
    Sep 29, 2024❤️1
    2
    这些功能在很多其他语言里面都有,但非要取个跟其他语言都不一样的名字。。。
    keenkiller
    keenkiller
    Sep 29, 2024
    3
    还好,反正 type hint 本来就是可选的

    但是这玩意我是真记不住…
    dragondove
    dragondove
    Sep 29, 2024
    4
    @billccn 没明白是指哪几个特性,在其他语言里等价的概念是什么
    june4
    june4
    Sep 29, 2024❤️2
    5
    以前写 py 还是没有类型注解的时候,现在一看 py 的类型好奇怪的样子,类型竟然还是具体的可导入可操作的实际对象,感觉是拿现成的锤子做了把剪刀,写多了 typescript 不知道 py 这种类型写起来是什么感觉,有没有类型体操
    zcf0508
    zcf0508
    Sep 29, 2024 via Android
    6
    crackidz
    crackidz
    Sep 29, 2024
    7
    还好吧,也没多很多很复杂的东西啊
    wangee
    wangee
    Sep 29, 2024 via iPhone
    8
    如果只是这篇 blog 里面的东西,感觉没有添加太多东西
    panxi
    panxi
    Sep 29, 2024
    9
    @zcf0508 好东西啊 大兄弟
    clino
    clino
    Sep 29, 2024
    10
    等 AI 编程助手都支持了是不是就不太成为负担了
    nyxsonsleep
    nyxsonsleep
    Sep 29, 2024
    11
    @june4 #5 python 类型是可选的,体验还是比 ts 好一点的。
    Hookery
    Hookery
    Sep 29, 2024
    12
    动态语言在向静态语言贴贴,静态语言在向动态语言贴贴,啥时候整个大一统好了。。
    kneo
    kneo
    Sep 29, 2024 via Android
    13
    逆水行舟,不进则退。
    est
    est
    Sep 29, 2024
    14
    别的还好,就是 TypeIs 太 2 了。。。还不如做多态和 multi-dispatch 。。。
    leven87
    leven87
    Sep 29, 2024
    15
    大佬们都买了 medium 会员吗,不是会员只能看个开头。
    nagisaushio
    nagisaushio
    Sep 29, 2024 via Android❤️17
    16
    这是 OP 自己的文章,OP 大可不必装路人推广

    尤记得“国外一小哥”
    yy77
    yy77
    Sep 29, 2024
    17
    可是 python 语言本身没有 type 检查呀。你再怎么写得完善,返回一个不一样的类型也不会报错。
    还得依靠 ide 或者 linter 。
    xgdgsc
    xgdgsc
    Sep 29, 2024 via Android
    18
    @Hookery 已经有了 https://www.tongyuan.cc/release/syslab 可以把类型稳定的 Julia 代码编译成二进制或者 cpp 代码
    jackerbauer
    jackerbauer
    Sep 29, 2024
    19
    花里胡哨的
    NoOneNoBody
    NoOneNoBody
    Sep 29, 2024
    20
    通篇没有用到 pandas 的 namespace ,为了检查 dataframe 类型,还要 import 一次,这是我最头疼的地方
    Ocean810975
    Ocean810975
    Sep 29, 2024❤️1
    21
    @leven87 #15 作者给的分享链接是 friend link ,按理说你注册了不开会员也能看,或者你有啥防跟踪浏览器扩展给「?sk=xxx 」那部分移除了。
    relsoul
    relsoul
    Sep 29, 2024
    22
    @june4 写的很乱七八糟...体验不如 ts ,都需要 import ,而且定义 type[] 这种的不如 ts 好写,有一瞬间会让我感觉 类型不是提示吗 怎么跟个实际变量一样.... 而且定义嵌套类型太麻烦了,我直接选择用 pydantic 定义 还方便,运行时也有对应的提示,直接完爆默认的 python 类型定义,(虽然 pydantic 也要基于 python 的类型使用,但是至少让我写起来是一个 d.ts 的感觉)
    abc1310054026
    abc1310054026
    Sep 29, 2024❤️1
    23
    OP medium 上 1w 多的 follower 还需要搞这种迎流吗。。。
    ferock
    ferock
    Sep 29, 2024 via iPhone❤️2
    24
    自己看自己写的文章以后自己头有点冷?干嘛自虐?
    AV1
    AV1
    Sep 29, 2024
    25
    类型检查+自动推导 是大势所趋。
    现在新出的编程语言,类型检查+自动推导 基本都是标配了。
    老一辈编程语言 python 、js 、lua 要是不想被历史抛弃,也都推出自己的类型系统了。
    est
    est
    Sep 29, 2024
    26
    @nagisaushio
    @Ocean810975
    @abc1310054026
    @ferock

    这几位老哥火眼金睛。。。
    mark2025
    mark2025
    Sep 29, 2024
    27
    @DOLLOR ts 的类型,js 的灵活,感觉太好用了
    nagisaushio
    nagisaushio
    Sep 29, 2024 via Android❤️1
    28
    @est 这 op 发了好几次我都记住 id 了
    Trim21
    Trim21
    Sep 29, 2024
    29
    这 ReadOnly 居然只能给 TypedDict 用。。。
    XIVN1987
    XIVN1987
    Sep 30, 2024
    30
    这个没办法,,所有编程语言都有这个趋势,,越来越复杂、语法规则越来越多。。

    唯一的例外是 C ,,几十年了语法很少扩展。。不过除了写驱动的、写嵌入式的,,应该很少有人用 C 了。。
    nianlifeixing
    nianlifeixing
    Sep 30, 2024
    31
    还好类型提示是非强制性的,我经常看到我同事写的函数的返回类型是不对的,不过丝毫不影响,属实是有点误解了
    ddddd0
    ddddd0
    Oct 1, 2024
    32
    @nagisaushio #16 确实挺无语
    lolizeppelin
    lolizeppelin
    Oct 11, 2024
    33
    我真 TM 服了...看了现在的兼容代码..以前只要区分 py2 和 py3...
    现在的兼容代码....直接喷了
    lolizeppelin
    lolizeppelin
    Oct 11, 2024
    34
    @yy77
    typescript 还不是一条卵样....这有啥区别
    JFe2McRV85Ea9ao2
    JFe2McRV85Ea9ao2
    Oct 15, 2024
    35
    @lolizeppelin #34 tsc 不检查类型?而且 python 的问题为什么要扯到 ts

    -- 有种以前讨论华为扯上小米的感觉,这种既视感太强了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4896 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 94ms · UTC 05:54 · PVG 13:54 · LAX 21:54 · JFK 00:54
    ♥ Do have faith in what you're doing.