Python3 支持中文命名? - 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
rumu3f
V2EX    Python

Python3 支持中文命名?

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

    就我一个人不知道么?

    别喷我大惊小怪.

    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  
    PRO
       2019-12-10 19:43:28 +08:00   1
    这时候必须 @xuanwu
    xuanwu
        24
    xuanwu  
       2019-12-11 01:47:39 +08:00
    对于不少人来说也许是旧闻: 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     Solana     814 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:28 PVG 06:28 LAX 14:28 JFK 17:28
    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