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

Python3 支持中文命名?

  •  1
     
  •   rumu3f · 2019-12-10 12:51:36 +08:00 · 6047 次点击
    这是一个创建于 1811 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就我一个人不知道么?

    别喷我大惊小怪.

    29 条回复    2019-12-11 11:47:32 +08:00
    Girlphobia
        1
    Girlphobia  
       2019-12-10 12:54:15 +08:00 via Android
    Python 2 到 3 升级的一个很大历史原因就是全面 Unicode 化。
    hutng
        2
    hutng  
       2019-12-10 12:54:54 +08:00 via Android
    知道支持,但不太敢用
    lhx2008
        3
    lhx2008  
       2019-12-10 12:56:47 +08:00 via Android
    之前 v2 有个老哥就每天说 python 中文编程,java 也可以,go 的话就不太行,go2 应该可以
    niboy
        4
    niboy  
       2019-12-10 13:15:15 +08:00
    前阵子刚知道,知道也不敢用
    wangyzj
        5
    wangyzj  
       2019-12-10 13:17:45 +08:00
    没想到中文做变量也可以
    Vegetable
        6
    Vegetable  
       2019-12-10 13:20:37 +08:00   ❤️ 1
    本质上不是支持中文,而是 Unicode,实际上现代化的编程语言理论上都可以.包括#3 说的(go 也可以中文名吧,不知道他说的不太行是怎么个不行),再比如 javascript 也可以.
    dreamerlv3ex
        7
    dreamerlv3ex  
       2019-12-10 13:22:53 +08:00   ❤️ 1
    语法结构不行 不然 能当易语言写
    nightwitch
        8
    nightwitch  
       2019-12-10 13:39:26 +08:00
    可惜 Python 不支持宏替换,不然分分钟再造“中文编程语言”:)
    cco
        9
    cco  
       2019-12-10 13:56:42 +08:00
    除了提高了 bug 率,还有什么意义?
    lithiumii
        10
    lithiumii  
       2019-12-10 14:02:54 +08:00 via Android
    好像不支持 emoji
    imblues
        11
    imblues  
       2019-12-10 14:13:09 +08:00
    @cco 用中文码字 也是醉了
    si
        12
    si  
       2019-12-10 14:42:20 +08:00
    很多语言都可以,特别是新出的。
    只要是和编程有关的地方都有这类话题。
    不过这种话题,基本上都要两边对喷起来,特别是 B 乎上。
    V2EX 上还好吧,其他平台上的基本都是直接喷的。
    看到群力别人分享的链接,发现居然连头条上也有这类话题,
    而且看那些文章的内容,基本上引导两边喷的,感觉是为了炒热度。
    XavierXJ
        13
    XavierXJ  
       2019-12-10 15:11:43 +08:00 via iPhone
    有没有可能开发出一个中文蟒蛇编程工具,所有命令都用中文,然后运行前多出一个“打包”功能,把命令替换成英文再运行,虽然貌似没什么用,想象一下 :打印(“结果”) 哈哈
    dorentus
        14
    dorentus  
       2019-12-10 15:16:37 +08:00
    @XavierXJ

    # 这样

    打印 = print
    打印("结果")

    # 可惜 ( 和 " 不能用( “ ”
    tiedan
        15
    tiedan  
       2019-12-10 15:37:27 +08:00
    php 你可以用 emoji
    dodo2012
        16
    dodo2012  
       2019-12-10 15:46:18 +08:00   ❤️ 1
    ruby 也可以 还支持 emoji

    irb(main):001:0> 猪 = '猪'
    => "很年轻"
    irb(main):002:0> p 猪
    "猪"
    => "猪"
    irb(main):003:0> 🐶 = '狗'
    => "狗"
    irb(main):004:0> p 🐶
    "狗"
    => "狗"
    crella
        17
    crella  
       2019-12-10 15:50:20 +08:00 via Android   ❤️ 1
    @dorentus ruby 里面

    def 打印(obj = self)
    print obj
    end


    '3'.打印
    打印 'hhh'


    以上都是可以的
    crella
        18
    crella  
       2019-12-10 15:55:04 +08:00 via Android
    修改:上面修改打印的方法需要在 Object 类修改,即:

    class Object
    def 打印(obj = self)
    print obj
    end
    end



    我就是喜欢 perl5/6 里面的 say,所以给自己的脚本的公用库里面添加了个 say 方法,打少一个字符的感觉真好……
    hmxxmh
        19
    hmxxmh  
       2019-12-10 16:08:04 +08:00
    @imblues 他怕甩出六国语言我们还得找翻译
    wszgrcy
        20
    wszgrcy  
       2019-12-10 16:22:26 +08:00 via Android
    不得不说这时候要吹一波易语言,他就是用中文明年的,并且,中文提示很好,打拼音就能联想
    frostming
        21
    frostming  
       2019-12-10 17:13:03 +08:00   ❤️ 1
    cco
        22
    cco  
       2019-12-10 19:00:30 +08:00
    @imblues
    码字用中文,代码用英文,有冲突?
    @hmxxmh
    幼稚~
    SingeeKing
        23
    SingeeKing  
       2019-12-10 19:43:28 +08:00   ❤️ 1
    这时候必须 @xuanwu
    xuanwu
        24
    xuanwu  
       2019-12-11 01:47:39 +08:00
    对于不少人来说也许是旧闻: https://www.v2ex.com/t/518915#reply82
    但从头条和知乎的反馈来看,仍然有相当一部分开发者(无论老手新手)不了解中文命名的可行性。
    也难怪,从入门一开始的教程就一直是看的英文例程,工作中如果没见过实例的话,估计大部分人都根深蒂固地认为“代码就必须用英文写标识符”吧。

    昨天刚收到的一个反馈:

    “目前团队开发 C# 的时候允许使用中文标识符,但是禁止拼音(全拼双拼一般禁止,老代码一点点改或者删),禁止单个标识符中中英文混写,感觉还好”

    实践出真知。
    xuanwu
        25
    xuanwu  
       2019-12-11 01:54:20 +08:00
    @lhx2008 #3 据个人了解,go 允许非 API 用中文命名

    @nightwitch
    @XavierXJ
    组里有成员在进行 python 语法和 API 的汉化。效果如下:

    xuanwu
        26
    xuanwu  
       2019-12-11 02:19:54 +08:00
    对了,刚发现还可以用中号:



    详见《拿什么拯救你,长英文命名——用中文(也许标点也可以)试试》: https://zhuanlan.zhihu.com/p/96071844
    kuangwinnie
        27
    kuangwinnie  
       2019-12-11 04:24:26 +08:00
    我觉得除了在 key / value 的时候有些 key 用中文表达比较准确以外,其他的时候用中文来进行变量名实在是。。。容易出 bug
    工具链还不成熟
    binghuo
        28
    binghuo  
       2019-12-11 08:46:50 +08:00 via Android
    可以是可以,但感觉没啥用,可能象征意义大过于实用意义吧…语法中英文切换太烦了,一溜的英文习惯了
    renmu
        29
    renmu  
       2019-12-11 11:47:32 +08:00 via Android
    他来了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2893 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:21 · PVG 20:21 · LAX 04:21 · JFK 07:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.