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
WildCat
V2EX  ›  Python

想做个基于 Python 的库,目标兼容 2.7/3.5+,有什么合适的代码规范嘛?

  •  
  •   WildCat · 2018-06-02 23:13:13 +08:00 · 3549 次点击
    这是一个创建于 2373 天前的主题,其中的信息可能已经有所发展或是发生改变。
    18 条回复    2018-06-03 23:35:21 +08:00
    est
        1
    est  
       2018-06-02 23:47:27 +08:00 via Android   ❤️ 4
    six

    不是说你 6,是真有个库叫 six
    lolizeppelin
        2
    lolizeppelin  
       2018-06-03 00:53:49 +08:00 via Android   ❤️ 1
    其实还有个 five 我在 pika 里见过 233
    artandlol
        3
    artandlol  
       2018-06-03 01:03:24 +08:00 via iPhone   ❤️ 1
    不用做了 py2 都要死了
    Arnie97
        4
    Arnie97  
       2018-06-03 01:30:27 +08:00 via Android   ❤️ 1
    现在都在讨论什么时候删除 Python 2 支持了
    https://python3statement.org/#sections40-timeline
    takato
        5
    takato  
       2018-06-03 01:47:36 +08:00
    @est 居然还有 seven,eight......
    manzhiyong
        6
    manzhiyong  
       2018-06-03 01:53:57 +08:00   ❤️ 1
    大部分公司都用 python2,用 3 的很少
    PythonAnswer
        7
    PythonAnswer  
       2018-06-03 01:56:01 +08:00 via iPhone   ❤️ 1
    去掉 2 兼容,节约不必要的 hack
    Sylv
        8
    Sylv  
       2018-06-03 02:38:45 +08:00 via iPhone   ❤️ 1
    zjb861107
        9
    zjb861107  
       2018-06-03 03:41:37 +08:00 via iPhone   ❤️ 1
    能不兼容 Python2 就别兼容吧…公司新开了个系统基于 Python2,用惯了 Python3 的我想死…
    xiaket
        10
    xiaket  
       2018-06-03 05:47:09 +08:00   ❤️ 2
    参见 Pycon 2018 的这个 video:

    不过除非你有非常好的理由要支持 Python 2, 不要.
    kindjeff
        11
    kindjeff  
       2018-06-03 07:59:05 +08:00 via iPhone   ❤️ 1
    大部分公司都用 python3,用 2 的很少
    ericls
        12
    ericls  
       2018-06-03 08:04:42 +08:00 via iPhone
    求不要兼容 2
    clino
        13
    clino  
       2018-06-03 08:30:33 +08:00
    我上次碰到一个库只支持 3,因为要在一个 2 的项目里引用,于是我改成也支持 2
    我觉得比较麻烦的还是字符串,大概用了 six 和 future 吧
    chroming
        14
    chroming  
       2018-06-03 09:46:46 +08:00 via iPad
    标准库一般用 six 兼容,语法就不用 py3 新语法
    xiaket
        15
    xiaket  
       2018-06-03 10:43:03 +08:00 via iPhone
    BTW,我觉得不妨将 Target 设为 3.6+
    bnm965321
        16
    bnm965321  
       2018-06-03 23:22:33 +08:00
    @chroming 标准库为什么要兼容...
    chroming
        17
    chroming  
       2018-06-03 23:28:40 +08:00
    @bnm965321 #16 兼容 2 和 3 标准库中的不同写法
    bnm965321
        18
    bnm965321  
       2018-06-03 23:35:21 +08:00
    @chroming 标准库不是跟随特定 py 版本发布的吗,为什么要兼容。可以说标准库在不同 py 版本使用不同的写法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:46 · PVG 11:46 · LAX 19:46 · JFK 22:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.