首页 > 编程知识 正文

设置python支持中文(python处理中文)

时间:2023-05-05 14:57:59 阅读:103365 作者:3100

最近在翻阅两本比较新的Python书籍的时候,发现都犯了一个严重的低级错误!

这两本书分别是《Python编程:从入门到实践》和《父与子的编程之旅》。它们都是畅销书,都有2020年10月的新版本,都使用了Python3.7语法。

图书封面

但是在关于变量命名规则的部分,他们犯了同样的错误,那就是他们还是用了Python2时代的修辞手法,误以为命名只支持字母、数字和下划线的组合。

错误内容

事实上,Python3.x已经支持完整的Unicode编码,例如使用中文作为变量名。

名称='蟒蛇猫'

打印(f)“我是{name},欢迎关注!”)

我是蟒蛇猫,欢迎关注!

由于我手边没有其他样本,我不确定有多少新版本的书仍然使用旧规则。然而,翻译书籍很有可能会出现这样的问题。此外,国内一些不严谨的书籍也可能会因参考过时的资料而出错。

这样一来,恐怕有些刚接触Python的同学会有错误的理解。虽然这可能不会引起严重的问题,但这仍然是一个应该避免的问题,并且很容易避免。

因此,我认为这个话题值得一谈。

编程语言中有一个非常常见的概念,那就是标识符,通常称为name,用来标识变量、常量、函数、类、符号等实体的名称。

定义标识符时,必须考虑一些基本规则:

它可以由哪些字符组成?

区分大小写吗?(即区分大小写)

它允许出现一些特殊的词吗?(即关键词/保留词)

对于第一个问题,大多数编程语言在早期版本中都遵循这个规则:标识符由字母、数字和下划线组成,不能以数字开头。少数编程语言也有例外,也支持$、@、%等特殊符号(如PHP、Ruby、Perl等)。).

Python的早期版本,特别是3.0之前的版本,遵循了上述命名规则。以下是官方文件中的描述:

标识符:=(字母|'_ ')(字母|数字|'_')*

字母:=小写|大写

lowercase:='a '.z '

uppercase:=' A '.z '

digit:='0 '.'9'

蟒蛇2

产地:analysis.html https://docs.python.org/2.7/reference/musical #标识符

然而,从3.0版本开始,这个规则就被打破了。最新的官方文件变成了这样:

正式文件

产地:analysis.html https://docs.python.org/3/reference/logical #标识符

随着互联网的普及,各国语言都进入了国际化的语境,编程语言也与时俱进地增加了国际化的需求。

Unicode(翻译为Unicode,Universal Code)编码标准于1994年发布,随后逐渐被主流编程语言所接受。到目前为止,至少有73种编程语言支持Unicode变量名(根据https://rosettacode . org/wiki/Unicode _ variable _ name)。

2007年,Python在规划时代设置3.0版本的时候,官方也考虑到了对Unicode编码的支持,于是重要的《PEP 3131 -- Supporting Non-ASCII Identifiers》诞生了。

人教版文件

来源:https://www.python.org/dev/peps/pep-3131

其实除了我们最关心的中文之外,Unicode字符集也包含了很多内容。

在命名变量时,以下用法是可行的(谨慎使用,这只猫不负责被打.):

=1

=1

_='hello'

综上所述,一些Python书籍中变量命名规则的内容已经过时,不应该被它们误导!

Python 3作为一种面向现代/国际的语言,对Unicode编码有很好的支持。至于标识符在项目中是否应该用中文命名,那是另一个问题.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。