浅析python字符串前加r、f、u、l 的区别

先给大家介绍下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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python如何将字符串转换为日期

    问题 你的应用程序接受字符串格式的输入,但是你想将它们转换为 datetime 对象以便在上面执行非字符串操作. 解决方案 使用Python的标准模块 datetime 可以很容易的解决这个问题.比如: >>> from datetime import datetime >>> text = '2012-09-20' >>> y = datetime.strptime(text, '%Y-%m-%d') >>> z = datetim

  • Python 如何在字符串中插入变量

    问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉. 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持. 但是通过使用字符串的 format() 方法来解决这个问题.比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >>> 或者,如果要被替换的变量能在变量域中找到, 那么你

  • Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之前,使用%格式化字符串沿用的是C语言的输出格式. 使用说明: print("格式化字符串" % 变量) #变量超过2个使用元组格式: print("格式化字符串" % (变量1,变量2)) 使用%占位符表示字符串中变量位置. 传入的值要与%占位符的变量一一对应. 其中,

  • 浅析python字符串前加r、f、u、l 的区别

    先给大家介绍下Python 字符串前面加u,r,b,f的含义(字符串前缀) 1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码. 2.字符串前加 r 例:r"\n\n\n\n" # 表示一个普通生字符串 \n\n\n\n,而不表示换行了. 作用: 去掉反斜杠的转移机制. (特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的

  • 浅析Python字符串中的r和u的区别

    目录 1.r(R) 2.u(U) 补充 参考文献 Python中字符串前面我们经常看到加r(R)或u/(U)的前缀,而这两个符号是什么意思呢? 1.r(R) r意为raw,表示不包含转义字符的原生字符串.常见的转义字符包括下列几种: 转义字符 描述 \(在行尾时) 续航符 \\ 反斜杠符号 ' 单引号(字符串需要为""形式) " 双引号(需要字符串用需要为''形式) \b 退格(Backspace) \000 空 \n 换行 \v 纵向制表符 \t 横向制表符 下面是几个转义

  • 简单了解python字符串前面加r,u的含义

    这篇文章主要介绍了简单了解python字符串前面加r,u的含义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 u/U:表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码. 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u:但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码. 建议所有编码方式采用utf-8,即在py文件开头添加: # coding: utf-8

  • 详解Python中字符串前“b”,“r”,“u”,“f”的作用

    1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码. 2.字符串前加 r 例:r"\n\n\n\n" 表示一个普通生字符串 \n\n\n\n,而不表示换行了. 作用: 去掉反斜杠的转移机制. (特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的"\n"表示换行,"\t"

  • python中字符串前面加r的作用

    本文实例讲述了python中字符串前面加r的作用.分享给大家供大家参考.具体分析如下: 字符串前面加r,表示的意思是禁止字符串转义 >>> print "asfdas\n" asfdas >>> print "asfdas\\n" asfdas\n >>> print "asfdas\n" asfdas >>> print r"asfdas\n" asfd

  • 浅析Python字符串索引、切片、格式化

    目录 1 字符串索引 1.1 循环索引字符 2 字符使用 2.1 字符串运算 3 字符串切片 3.1 切片方法 4 字符串格式化 除了数字,Python中最常见的数据类型就是字符串,无论那种编程语言,字符串无处不在.例如,从用户哪里读取字符串,并将字符串打印到屏幕显示出来. 字符串是一种数据结构,这让我们有机会学习索引和切片--用于从字符串中提取子串的方法. 1 字符串索引 在Python语法支持中,我们简单的阐述过字符串的使用,现在我们看看python程序在处理字符串时,如何对其进行索引,打印

  • Python字符串格式化%s%d%f详解

    关于讨论输出格式化的问题,小编不是一时兴起,之前学习python的时候就经常遇到输出时"%d",一直没有仔细学习,今天又看到了,下面分享一个简单实例,python输出99乘法表: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j), 结果: 1*1=1 2*1=2 2*

  • 解析python调用函数加括号和不加括号的区别

    下面看下python调用函数加括号和不加括号的区别,具体代码如下所示: def bracket(data): return data if __name__ == '__main__': # 不带括号调用的结果:<function bracket at 0x0000000004DD0B38>,a是整个函数体,是一个函数对象,不须等该函数执行完成 a = bracket print a # 带括号调用的结果:6 ,b是函数执行后返回的值6,须等该函数执行完成的结果 b = bracket(6)

  • 浅析Python中元祖、列表和字典的区别

    1.列表(list) list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表中的项目应该包括在方括号中,这样Python就知道你是指明一个列表.一旦你创建了一个列表,就可以添加.删除,或者是搜索列表中的项目.由于你可以增加或者删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,且列表是可以嵌套的. 实例: #coding=UTF-8 #author:RXS002 animalslist = ['fox','tiger','rabbit','snake']

  • Python字符串的转义字符

    目录 什么是转义字符 Python中的转义字符们 转义无效符 什么是转义字符 转义字符是指,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义”. 简单来说就是字符要转成其他含义的的功能,所以我们叫它 “转义字符”. 转义字符的意义就是避免出现二义性,避免系统识别错误 例如:要打印 "PHP是世界上最美的语言" print("PHP是世界上最美的语言") print(""PHP是世界上最美的语言"

随机推荐