浅析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通过90行代码搭建一个音乐搜索工具
Jul 29 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
Jun 16 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
Python对多属性的重复数据去重实例
Apr 18 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
Windows下python3.7安装教程
Jul 31 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 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
phpinfo 系统查看参数函数代码
2009/06/05 PHP
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
JS location几个方法小姐
2008/07/09 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
Python读写文件方法总结
2015/06/09 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python实现翻译word表格小程序
2020/02/27 Python
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
民事起诉书范本
2015/05/19 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书