python字符串前加r、f、u、l 的区别
f-strings 是指以 f
或 F
开头的字符串,其中以 {}
包含的表达式会进行值替换。(目前支持python3.6版本)
下面看下 f-strings 的使用方法
基本使用(作用:替换值)
>>>name = 'hoxis' >>> age = 18 >>> f"hi, {name}, are you {age}" #结果如下 'hi, hoxis, are you 18' >>> F"hi, {name}, are you {age}" 'hi, hoxis, are you 18'
在字符串前加r可防止字符串转义
作用:没有转义特殊或不能打印的字符。
>>> s='abc\nabc' >>> s 'abc\nabc' >>> print s abc abc >>> s=r'abc\nabc' >>> s 'abc\\nabc' >>> print s abc\nabc
u/U:表示unicode字符串
不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。
一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf8
字符串前加 “l”
表示宽字符,unicode字符( unicode字符集是两个字节组成的。L告示编译器使用两个字节的 unicode 字符集) 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。
不加时占用字节 strlen("asd") = 3; 加之后占用字节 strlen(L"asd") = 6;