浅析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基础教程之实现石头剪刀布游戏示例
Feb 11 Python
Python基础语法(Python基础知识点)
Feb 28 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
Django配置MySQL数据库的完整步骤
Sep 07 Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 Python
python元组和字典的内建函数实例详解
Oct 22 Python
Python如何获取Win7,Win10系统缩放大小
Jan 10 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 Python
记一次Django响应超慢的解决过程
Sep 17 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 Python
Python+OpenCV实现图片中的圆形检测
Apr 07 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找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
Python快速从注释生成文档的方法
2016/12/26 Python
python的unittest测试类代码实例
2017/12/07 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
中科软测试工程师面试题
2012/06/16 面试题
护理专业学生的求职信范文
2013/12/11 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js