python字符串前u
① python 中文字符串前为什么加u
# -*- coding: UTF-8 -*- 这句是告诉python程序中的文本是utf-8编码,让python可以按照utf-8读取程
中文前加u就是告诉python后面的是个unicode编码,存储时按unicode格式存储。
② python中文字符串前为什么加u
python中文字符串前为什么加u?因为u可以针对任何字符串。u不只连接汉语, 可以连接所有的字符串。它表示可以对字符串进行unicode编码.常理来说英文字符在使用冲塌各种编码下, 一般都可以正常解析, 所以一般也就不带u了。
③ python字符串前缀 u和r的区别
(1)以r或R开头的python中的字符串表示(非转义的)原始字符串
python里面的字符,如果开头处有个r,比如:
(r’^time/plus/\d{1,2}/$’, hours_ahead)
说明字符串r"XXX"中的XXX是普通字符。
有普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n"表示换行,"\t"表示Tab等。
而如果是以r开头,那么说明后面的字符,都是普通的字符了,即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。
以r开头的字符,常用于正则表达式,对应着re模块。
关于re模块,详情自己google搜索“python re”。
举例:
原始字符串操作符(r/R),能方便处理反斜杠:
f = open(r'C:\Program
Files\Adobe\Reader 9.0\Setup Files\setup.ini','r')
for i in f:
print i
f.close()
(2)以u或U开头的字符串表示unicode字符串
Unicode是书写国际文本的标准方法。如果你想要用非英语写文本,那么你需要有一个支持Unicode的编辑器。
类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。
举例:
u"This is a Unicode string."
④ python中 r'', b'', u'', f'' 的含义
1、字符串前+u,如u"我是张三":
前缀u表示该字符串是unicode编码,在Python2中常被用在中文字符的字符串前,防止因为编码问题所导致的乱码,一般在文件开头标明编码方式采用utf8。在Python3中,所有的字符串默认都是unicode字符串。
2、旦者字符串前+r,如r" ":
表示一个正常的字符串,通常 被用作换行,而+r后,即表示 ,说白了就是去掉反斜杠的转义机制,在普通字符串中,反斜线是转义符,裤者代表一些特殊的内容,常用胡迟薯于特殊的字符,如换行符、正则表达式、文件路径。注意不能在原始字符串结尾输入反斜线,否则Python不知道这是一个字符还是换行符(字符串最后用表示换行),会报错。
3、字符串前+b,如abc=b'Zhangsan':
b' ':表示这是一个bytes对象,用在Python3中,它默认的str是unicode类,Python2的str本身就是bytes类。
b" ":表示后面字符串是bytes类型。
前缀b表示该字符串是bytes类型,常用在网络编程,服务器和浏览器只认bytes类型的数据,如send函数的参数和recv的函数的返回值都是bytes类型。
4、字符串前+f:
Python3.6的新加特性,前缀f用来格式化字符串,可以看出f前缀可以更方便地格式化字符串,比format()方法的可读性更高,且使用较方便,在加上f前缀后,支持在大括号内,运行Python表达式,也可以用fr前缀用来表示原生字符串。