浅析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 相关文章推荐
python2.7删除文件夹和删除文件代码实例
Dec 18 Python
手动实现把python项目发布为exe可执行程序过程分享
Oct 23 Python
python的类方法和静态方法
Dec 13 Python
Python写的服务监控程序实例
Jan 31 Python
python实现读取命令行参数的方法
May 22 Python
Python中的集合类型知识讲解
Aug 19 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
Python基础学习之时间转换函数用法详解
Jun 18 Python
由面试题加深对Django的认识理解
Jul 19 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 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&amp;MYSQL留言板源码
2020/07/19 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
python实现zabbix发送短信脚本
2018/09/17 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
如何通过python实现全排列
2020/02/11 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
工业设计专业个人求职信范文
2013/12/28 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
国旗下演讲稿
2014/05/08 职场文书
增员口号大全
2014/06/18 职场文书
路政管理求职信
2014/06/18 职场文书
运动会演讲稿100字
2014/08/25 职场文书
大学生在校表现评语
2014/12/31 职场文书
捐助倡议书
2015/01/19 职场文书
公司更名通知函
2015/04/24 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
mysql 排序失效
2022/05/20 MySQL