浅析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抓taobao图片爬虫
Oct 26 Python
Python的迭代器和生成器使用实例
Jan 14 Python
详解Python3中的Sequence type的使用
Aug 01 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 Python
python音频处理用到的操作的示例代码
Oct 27 Python
python实现批量图片格式转换
Jun 16 Python
python主线程捕获子线程的方法
Jun 17 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
利用Python脚本实现自动刷网课
Feb 03 Python
Python为何不支持switch语句原理详解
Oct 21 Python
pandas实现导出数据的四种方式
Dec 13 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
PHP-FPM实现性能优化
2016/03/31 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
python中logging库的使用总结
2017/10/18 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
SNIDEL官网:日本VIVI杂志人气少女第一品牌
2020/03/12 全球购物
洗发水广告词
2014/03/13 职场文书
清扬洗发水广告词
2014/03/14 职场文书
村长贪污检举信
2014/04/04 职场文书
超市开店计划书
2014/04/26 职场文书
保护地球的标语
2014/06/17 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
小班上学期个人总结
2015/02/12 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers