先给大家介绍下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'

Hello World!

'     # 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字符串前加r、f、u、l 的区别的更多相关文章

  1. 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    获取要爬取的URL爬虫前期工作用Pycharm打开项目开始写爬虫文件字段文件items# Define here the models for your scraped items## See documentation in:# https://docs.scrapy.org/en/latest/......

  2. python 制作网站筛选工具(附源码)

    一.思路1.整体思路2.代码思路思路很简单,就是用python发送请求,提取响应体中的状态码加以判断,最后保存到本地txt文本中,以实现网站信息的筛选。二.撰写代码import timeimport requestsimport urllib3from concurrent.futures impo......

  3. 执行py文件需要可执行权限吗?

    我们知道可执行权限x在Linux系统中的重要性,那么在执行py文件的过程中,是否一定需要可执行权限呢?本文将会详细的分析几种测试案例。案例解析这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子:# module1.pydef test():print ('h......

  4. python pandas合并Sheet,处理列乱序和出现Unnamed列的解决

    使用python中的pandas,xlrd,openpyxl库完成合并excel中指定sheet的操作# -*- coding: UTF-8 -*- import xlrdimport pandas as pdfrom pandas import DataFramefrom openpyxl imp......

  5. [Python] Pandas 对数据进行查找、替换、筛选、排序、重复值和缺失值处理

    如何使用pandas模块中的函数对DataFrame中的数据进行查找和替换目录1. 数据文件2. 读数据3. 查找数据4. 替换数据4.1 一对一替换4.2 多对一替换4.3 多对多替换5. 插入数据6. 删除数据6.1 删除列6.2 删除行7. 处理缺失值7.1 数据准备7.2 查看缺失值7.3 ......

  6. 使用Python访问并下载网页内容的代码

    [Python]代码#!/usr/local/bin/python3.2import urllib.request,io,os,sysreq = urllib.request.Request("http://www.google.com")f = urllib.request.u......

  7. 用python60行代码写一个简单的笔趣阁爬虫

    系列文章目录python爬虫实战——爬取淘宝商品信息并导入EXCEL表格(超详细)python多线程爬取壁纸 妈妈再也不担心我没壁纸了!.python爬虫爬取虎牙数据(简单利用requests库以及Beautifulsoup).python爬虫之爬取壁纸(新手入门级).python爬虫实战——爬取猫......

  8. python生成二维码

    python生成二维码需要用到的包pip install qrcode 代码:import qrcode from PIL import Image # 如果需要在二维码中添加图片logo需要 # 模块导入 data = "www.baidu.com" img_name = '二......

  9. Python单元测试框架pytest常用测试报告类型

    先前博客有介绍pytest测试框架的安装及使用,现在来聊聊pytest可以生成哪些测试报告1.allure测试报告关于allure报告参见先前的一篇博文:https://www.cnblogs.com/feng0815/p/13792188.html ,这里不再赘述2.生成resultlog文件#!......

  10. Python实现钉钉/企业微信自动打卡的示例代码

    每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡。1 前期工具准备不用说的Python一部24小时可以放公司的安卓手机或电脑安装模拟器ADB工具2 ADB的安装配置去下载ADB安装......

随机推荐

  1. Perl中常见符号与操作

    注释:1.单行: #print2.多行:=pod …. =cut查询perl相关:Perldoc perlvar($a,$$,$”...)Perldoc perfunc(sort…)Perldoc perl 查看perldoc文章列表Perldoc –q 正则表达式Perldoc –f 函数名Per......

  2. c#生成缩略图代码

    public void SaveThumbnail(string path, string thumbnailPath, int newWidth, int newHeight){System.Drawing.Image i = System.Drawing.Image.FromFile(path)......

  3. 详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库

    获取要爬取的URL爬虫前期工作用Pycharm打开项目开始写爬虫文件字段文件items# Define here the models for your scraped items## See documentation in:# https://docs.scrapy.org/en/latest/......

  4. python中re模块的使用(正则表达式)

    一、什么是正则表达式?正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。二、正则表达式的匹配规则1.表......

  5. 阿里面试:MySQL如何设计索引更高效?

    前言数据库系列更新到现在我想大家对所有的概念都已有个大概认识了,这周我在看评论的时候我发现有个网友的提问我觉得很有意思:帅丙如何设计一个索引?你们都是怎么设计索引的?怎么设计更高效?我一想索引我写过很多了呀,没道理读者还不会啊,但是我一回头看完,那确实,我就写了索引的概念,优劣势,没提到怎么设计,那......

  6. MySQL锁等待与死锁问题分析

    前言: 在 MySQL 运维过程中,锁等待和死锁问题是令各位 DBA 及开发同学非常头痛的事。出现此类问题会造成业务回滚、卡顿等故障,特别是业务繁忙的系统,出现死锁问题后影响会更严重。本篇文章我们一起来学习下什么是锁等待及死锁,出现此类问题又应该如何分析处理呢?1.了解锁等待与死锁出现锁等待或死......

  7. C# 获取当前总毫秒数的实例讲解

    在.Net下DateTime.Ticks获得的是个long型的时间整数,具体表示是至0001 年 1 月 1 日午夜 12:00:00 以来所经过时间以100纳秒的数字。转换为秒为Ticks/10000000,转换为毫秒Ticks/10000。如果要获取从1970年1月1日至当前时间所经过的毫秒数,......

  8. JVM虚拟机Class类文件研究分析

    本文对java编译后的Class文件进行研究,依次介绍了Class文件中魔数、JDK版本号、常量池、访问标志、类索引、父类索引与接口索引集合、字段表、方法表、属性表等,最后简单介绍了Class文件阅读流程。前言为了研究Class文件,先编写一个最简单的代码:package com.courage;p......

  9. Vue启动index.html如何被渲染的

    第一步:cmd进入项目文件里,运行npm run serve 启动项目 这里说明启动端口号是8080第二步:往页面输入:localhost:8081二、解析渲染步骤 先看整体框架样式和index.html:<!DOCTYPE html><html lang......

  10. Java异常处理场景中不同位置的返回值详细解析

    Java 异常处理中的返回值在不同位置不同场景下是有一些差别的,这里需要格外注意具体分以下两种场景:1 finally语句块没有return语句,即当代码执行到try或者catch语句块中的return语句时,相当于在本地保存了一份此时返回值的变量的值副本,然后按照try catch finally......