V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjsxwc
V2EX  ›  程序员

为什么 Python 代码普遍不用注释来标记变量类型?写 Python 代码好累啊

  •  
  •   zjsxwc ·
    zjsxwc · 2021-05-12 09:22:35 +08:00 · 1041 次点击
    这是一个创建于 1290 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大部分动态语言开发者都喜欢用注释来标记变量类型,

    这样可以配合 IDE 类型提示大大提高开发效率,

    以及静态分析来提高代码质量。

    比如 PHP 使用phpDoc

    php1

    php2

    比如目前基本被淘汰的 es5 版 JS 使用JSDoc

    js es5 1

    js es5 2

    然而奇葩的是我碰到的 Python 代码都是没有用注释来标记变量类型的,

    甚至不少知名的三方库也只是标记一点点类型,

    这就导致写 Python 代码比写 JS 、PHP 痛苦,IDE 的帮助也没有太大。

    为什么 Python 代码普遍不用注释来标记变量类型?

    这样写 Python 代码不累吗?

    ArianX
        1
    ArianX  
       2021-05-12 09:41:43 +08:00 via Android
    Python 3 本身提供类型注解语法不用把类型写到注释里面去,但是应用项目用得比较少,库代码用得多一点
    flycat1626
        2
    flycat1626  
       2021-05-12 09:47:37 +08:00
    这个看团队习惯了,很多还在继续用 py2.7 或者是从 2.7 刚升上来的就不太注意,现在慢慢切换到 py3.7,情况在慢慢好转了
    Death
        3
    Death  
       2021-05-12 10:46:07 +08:00
    现在很多库都用上 type hints 了吧
    Aprilming
        4
    Aprilming  
       2021-05-12 11:57:27 +08:00
    何止不写注释表明变量类型,我是基本不写任何注释。
    zjsxwc
        5
    zjsxwc  
    OP
       2021-05-12 14:47:56 +08:00
    原谅我不知道 Python3 。

    感觉 Python3 用下面的写法,就是完全是 强类型 静态语言了

    ```python3
    age: int = 5 #普通变量

    def process(response: bytes) -> str: #方法或者函数
    ```

    这样比 Python2.x 那种强类型动态语言写法好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2772 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:34 · PVG 19:34 · LAX 03:34 · JFK 06:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.