浅析python字符串前加r、f、u、l 的区别


Posted in Python onJanuary 24, 2021

先给大家介绍下Python 字符串前面加u,r,b,f的含义(字符串前缀)

1、字符串前加 u

例:u"我是含有中文字符组成的字符串。"

作用:

后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。

2、字符串前加 r

例:r"\n\n\n\n”

# 表示一个普通生字符串 \n\n\n\n,而不表示换行了。

作用:

去掉反斜杠的转移机制。

(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )

应用:

常用于正则表达式,对应着re模块。

3、字符串前加 b

例: response = b'<h1>Hello World!</h1>'     # b' ' 表示这是一个 bytes 对象

作用:

b" "前缀表示:后面字符串是bytes 类型。

用处:

网络编程中,服务器和浏览器只认bytes 类型数据。

如:send 函数的参数和 recv 函数的返回值都是 bytes 类型

附:

在 Python3 中,bytes 和 str 的互相转换方式是

str.encode('utf-8')
bytes.decode('utf-8')

4、字符串前加 f

import time
t0 = time.time()
time.sleep(1)
name = 'processing'
# 以 f开头表示在字符串内支持大括号内的python 表达式
print(f'{name} done in {time.time() - t0:.2f} s')

输出:

processing done in 1.00 s

下面介绍下python字符串前加r、f、u、l 的区别

f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换。(目前支持python3.6版本)

下面看下 f-strings 的使用方法

基本使用(作用:替换值)

>>>name = 'xiaoming'
>>> age = 18
>>> f"hi, {name}, are you {age}"
#结果如下
'hi, xiaoming, are you 18'
>>> F"hi, {name}, are you {age}"
'hi, xiaoming, 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;

到此这篇关于浅析python字符串前加r、f、u、l 的区别的文章就介绍到这了,更多相关python字符串r、f、u、l内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python格式化css文件的方法
Mar 10 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
Python解惑之True和False详解
Apr 24 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
从pandas一个单元格的字符串中提取字符串方式
Dec 17 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
python基础详解之if循环语句
Apr 24 Python
python中的None与NULL用法说明
May 25 Python
python 图像增强算法实现详解
Jan 24 #Python
详解用 python-docx 创建浮动图片
Jan 24 #Python
Python爬虫入门教程02之笔趣阁小说爬取
Jan 24 #Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 #Python
详解python的变量缓存机制
Jan 24 #Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 #Python
利用Python函数实现一个万历表完整示例
Jan 23 #Python
You might like
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
python字符串排序方法
2014/08/29 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
python+pygame实现坦克大战
2019/09/10 Python
Python阶乘求和的代码详解
2020/02/14 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Python常用编译器原理及特点解析
2020/03/23 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
办公室内勤岗位职责范本
2013/12/09 职场文书
运动会邀请函范文
2014/02/06 职场文书
个人委托书格式
2014/04/04 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
司法所长先进事迹
2014/06/02 职场文书
要账委托书范本
2014/09/15 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers