python中文字符串前为什么加u?

Python015

python中文字符串前为什么加u?,第1张

python中文字符串前为什么加u?因为u可以针对任何字符串。u不只连接汉语, 可以连接所有的字符串。它表示可以对字符串进行unicode编码.常理来说英文字符在使用各种编码下, 一般都可以正常解析, 所以一般也就不带u了。

Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。 Python是纯粹的自由软件,源代码和解释器CPython遵循GPL协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。 Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

# -*- coding: UTF-8 -*- 这句是告诉python程序中的文本是utf-8编码,让python可以按照utf-8读取程

中文前加u就是告诉python后面的是个unicode编码,存储时按unicode格式存储。

Python2不区分str和byte string, 都放在str里面乱搞,所以有len(u'汉字')=2但是len('汉字')=6 这种东西(这个时候存放的是encode之后的字节组)。Python3所有的str都是unicode字符串,而把unicode编码后的单独放在bytes或者bytearray对象里。同时语法上加入前缀u与否都代表unicode字符串。