浅析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列表与元组详解实例
Nov 01 Python
python3图片转换二进制存入mysql
Dec 06 Python
python自动化测试之setUp与tearDown实例
Sep 28 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
儿童python练习实例
May 27 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
Django 项目通过加载不同env文件来区分不同环境
Feb 17 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
Python如何截图保存的三种方法(小结)
Sep 01 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的类树(支持无限分类)
2006/10/09 PHP
PHP 开源AJAX框架14种
2009/08/24 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
Python获取系统默认字符编码的方法
2015/06/04 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python输入二维数组方法
2018/04/13 Python
基于python的Paxos算法实现
2019/07/03 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
利用Python计算KS的实例详解
2020/03/03 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
行政主管职责范本
2014/03/07 职场文书
《画风》教学反思
2014/04/16 职场文书
党员目标管理责任书
2014/07/25 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers