
上QQ阅读APP看书,第一时间看更新
Crossin老师答疑
问题1:Python文件是否支持中文?
答:Python 3默认支持中文。Python最初只能处理8位,即一个字节的ASCII值,后来在Python 1.6版本中支持了unicode。unicode是使程序能支持多种语言的编码工具。unicode一般使用16位来存储字符,正好支持双字节的中文,但是文本中若是英文居多,中文较少,则会浪费存储空间,于是出现了utf-8。utf-8存储英文只使用一个字节,存储中文使用两个字节,但是这种变长的编码方式在内存中使用时很不方便。因此将数据存到文件可以使用utf-8编码节省空间,将数据存到内存可以使用unicode方便内存管理。所以在Python 2中,为了使.py文件在各类操作系统(平台)上都支持中文,一般在程序的第一行加上“# -*- coding: UTF-8 -*-”,设置文件的编码格式为utf-8。而在Python 3中,这一步骤可以省略。
问题2:能不能用“print”作为变量名?
答:从Python语法上来说,“print”符合变量命名规范,可以用作变量名,程序可正常执行,不会报错。但在实践中不建议这么做,因为对print这个变量进行赋值之后,后续代码中print函数会失去原本的含义,无法起到打印输出的作用,调用时会报错。同理,其他函数名、类型名和模块名也都存在同样的问题。所以为了避免这种冲突发生,建议一律不使用内置的名称和关键字作为变量名。如果不确定会不会重名,可以在自定义的名称前加上前缀,如my_print、my_input等,确保变量名的唯一性。