开发者社区> 问答> 正文

python怎么声明中文

python怎么声明中文

展开
收起
云计算小粉 2018-05-10 20:11:05 3198 0
3 条回答
写回答
取消 提交回答
  • python中文不用声明。

    如果是python3的话自动转码。

    python2的话需要decode("unicode-escape")

    2019-11-22 15:14:25
    赞同 展开评论 打赏
  • 我啦啦啦啦

    python中的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单

    !/usr/bin/python 相当于写死了 python 路径(是告诉OS执行这个py时,调用 /usr/bin 下的 python 解释器;)

    !/usr/bin/env python 会去环境设置寻找python目录,推荐这种写法(目的是为了OS防止user没有将python 装在默认的 /usr/bin 路径里。在Linux类的OS环境下有意义)

    2019-07-17 22:25:29
    赞同 1 展开评论 打赏
  • 一、使用中文字符
    在python源码中如果使用了中文字符,运行时会有错误,解决的办法是在源码的开头部分加入字符编码的声明,下面是一个例子:

    !/usr/bin/env python

    -- coding: cp936 --

    Python Tutorial中指出,python的源文件可以编码ASCII以外的字符集,最好的做法是在#!行后面用一个特殊的注释行来定义字符集:

    -- coding: encoding --

    根据这个声明,Python会尝试将文件中的字符编码转为encoding编码,并且,它尽可能的将指定地编码直接写成Unicode文本。
    注意,coding:encoding只是告诉Python文件使用了encoding格式的编码,但是编辑器可能会以自己的方式存储.py文件,因此最后文件保存的时候还需要编码中选指定的ecoding才行。
    二、中文字符的存储

    str = u"中文"
    str
    u'xd6xd0xcexc4'
    str = "中文"
    str

    'xd6xd0xcexc4'
    u"中文"只是声明unicode,实际的编码并没有变。这样子就发生变化了:

    str = "中文"
    str

    'xd6xd0xcexc4'

    str = str.decode("gb2312")
    str

    u'u4e2du6587'
    更进一步:

    s = '中文'
    s.decode('gb2312')

    u'u4e2du6587'

    len(s)

    4

    len(s.decode('gb2312'))

    2

    s = u'中文'
    len(s)

    4

    s = '中文test'
    len(s)

    8

    len(s.decode('gb2312'))

    6

    s = '中文test,'
    len(s)

    10

    len(s.decode('gb2312'))

    7
    可以看出,对于实际Non-ASCII编码存储的字符串,python可以正确的识别出其中的中文字符以及中文上下文中的标点符号。
    前缀“u”表示“后面这个字符串“是一个Unicode字符串”,这仅仅是一个声明,并不表示这个字符串就真的是Unicode了;就好比某正太声称自己已满18岁,但实际上他的真实年龄并不确定,现在体育界年龄造假可不稀罕幺!
    那么声明成u有什么作用呢?对于Python来说,只要你声明某字符串是Unicode,它就会用Unicode的一套机制对它进行处理。比方说,做字符串操作的时候会动用到内部的Unicode处理函数,保存的时候以Unicode字符(双字节)进行保存。等等。显而易见,对于一个实际上并不是 Unicode的字符串,做Unicode动作的处理,是有可能会出问题的。 u前缀只适用于你的字符串常量真的是Unicode的情况 。

    2019-07-17 22:25:29
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载