当前位置: 首页 > news >正文

Python入门教程29:字符串前加r、u、b、f是什么意思?

★★★★★博文原创不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧,喜欢的老铁可以多多帮忙点赞,小红牛在此表示感谢。★★★★★

关键字参数字符串前加上r、u、b和f,分别表示不同的字符串类型,具有不同的用途和行为。

#我的Python教程
#官方微信公众号:wdPython

r:原始字符串(Raw String)

原始字符串在字符串前面加上r,表示该字符串是一个原始字符串,即字符串中的所有反斜杠(\)都被视为普通字符,而不是转义字符。所以下方\n不是表示换行的意思。这在处理需要包含反斜杠的字符串时非常有用,例如文件路径、正则表达式等。

s1 = r'This is a raw string \n'  
print(s1)  # 输出:This is a raw string \n# 普通字符串  
path = "C:\\Users\\User\\Documents\\file.txt"  # 原始字符串  
path_r = r"C:\Users\User\Documents\file.txt"

u:Unicode字符串(Unicode String)

Unicode字符串在字符串前面加上u,表示该字符串是一个Unicode字符串。在Python 2.x版本中,这是默认的字符串类型,用于表示包含非ASCII字符的字符串。在Python 3.x版本中,默认的字符串类型是Unicode字符串,因此不需要使用u前缀。防止因为源码储存的格式问题,导致再次使用时出现乱码。

s2 = u'This is a Unicode string \u00A9'  
print(s2)  # 输出:This is a Unicode string ©

b:二进制字符串(Binary String)

二进制字符串在字符串前面加上b,表示该字符串是一个二进制字符串,即字符串中的所有字符都是二进制的。二进制字符串主要用于处理二进制数据

# bytes转字符串方式1
a=b'\xe6\x88\x91\xe7\x9a\x84Python\xe6\x95\x99\xe7\xa8\x8b'
string=str(a,'utf-8')
print(string)# bytes转字符串方式2
string=a.decode() # 第一参数默认utf8,第二参数默认strict
print(string)print("-----------------------------")#字符串转bytes方式1
str='我的Python教程'
b=bytes(str, encoding='utf-8')
print(b) # \xe6\x88\x91\xe7\x9a\x84Python\xe6\x95\x99\xe7\xa8\x8b# 字符串转bytes方式2
b=str.encode('utf-8')
print(b)

f:格式化字符串(Formatted String)

格式化字符串在字符串前面加上f,表示该字符串是一个格式化字符串。格式化字符串使用大括号{}来包含占位符,并使用来指示后面的字段名。这种类型的字符串非常适合在代码中生成格式化的文本输出。

name = 'John'  
age = 30  
s4 = f'My name is {name} and I am {age} years old.'  
print(s4)  # 输出:My name is John and I am 30 years old.
http://www.lryc.cn/news/146208.html

相关文章:

  • java8 IntStream.range
  • 数据库集群的简单了解
  • CSS中如何实现文字阴影效果(text-shadow)?
  • Nginx从入门到精通(超级详细)
  • 为何反射探针关闭Mipmap后变成了白图
  • 成都睿趣科技:抖音开网店前期的流程是什么
  • 机房安全之道:构筑坚固的网络防线
  • 使用GoLand进行远程调试
  • C++通过JNI调用JAVA方法返回ArrayList对象
  • .netcore grpc截止时间和取消详解
  • React组件间数据传递(弹框和高阶组件(HOC)特性实现)
  • 只考一门数据结构,计算机学硕复录比1:1的山东双非学校考情分析
  • SpringMVC之异常处理器
  • 【数据结构与算法篇】手撕八大排序算法之快排的非递归实现及递归版本优化(三路划分)
  • docker network
  • 回归预测 | MATLAB实现DBN-ELM深度置信网络结合极限学习机多输入单输出回归预测
  • 新亮点!安防视频监控/视频集中存储/云存储平台EasyCVR平台六分屏功能展示
  • 深入解析SNMP协议及其在网络设备管理中的应用
  • 【SA8295P 源码分析】86 - AIS Camera Device 设备初始化 之 AisProcChainManager 模块初始化源码分析
  • 十五、pikachu之CSRF
  • C语言网络编程:实现自己的高性能网络框架
  • hive表向es集群同步数据20230830
  • 五、Kafka消费者
  • 类 中下的一些碎片知识点
  • JVM第二篇 类加载子系统
  • 火爆全网!HubSpot CRM全面集成,引爆营销业绩!
  • 远程调试环境
  • Java面试之用两个栈实现队列
  • Python-实用的文件管理及操作
  • Mysql 事物与存储引擎