首页 > 编程语言 >python 字符串前加f、r、b、u

python 字符串前加f、r、b、u

时间:2023-06-29 18:55:14浏览次数:38  
标签:前加 format python 18 age 字符串 100 name

python 字符串前加f、r、b、u

一、字符串前加"f"

  1. %
    可以使用 % 格式化字符串。
c = (250, 250)
# 使用 % 格式化
s1 = "坐标为:%s" % c
# TypeError: not all arguments converted during string formatting
s1 = "坐标为:%s" % (c,) # '坐标为:(250, 250)'
# 使用 format 格式化
s2 = "坐标为:{}".format(c) # '坐标为:(250, 250)'

  1. format
    Python 2.6 引入 format 格式化字符串的方式。
str.format() 是对 %-formatting 的改进,替换字段使用大括号 {} 标记。

"Hello, {}. You are {}.".format(name, age)

可以通过引用索引来改变引入顺序:

age = 100
name = 'Hider'
"Hello {1}.You are {0}-{0}.".format(age, name)
# 'Hello Hider.You are 100-100.'

如果插入变量名称,则会获得额外传递对象的权限:

person = {'name':'Hider', 'age':100}
"Hello {name}.You are {age}.".format(age=person['age'], name=person['name'])
# 'Hello Hider.You are 100.'

使用 * 可以针对列表进行解码:

data = ["Hider", 100]
"Name:{0}, Age:{1}.".format(*data)
# 'Name:Hider, Age:100.'

使用 ** 来使用字典完成巧妙技巧:

person = {'name':'Hider', 'age':100}
"Hello {name}.You are {age}.".format(**person) # 解开字典形成独立形参
# 'Hello Hider.You are 100.'

填充与对齐
^、 分别是居中、左对齐、右对齐,后面带宽度参数。

: 后面带填充的字符,只能是一个字符,默认空格填充。

"{:>10}".format('18') # '        18'
"{:0>10}".format('18') # '0000000018'
"{:A>10}".format('18') # 'AAAAAAAA18'
"{:A^10}".format('18') # 'AAAA18AAAA'

zfill 方法补充
zfill方法返回指定长度的字符串,原字符串右对齐,前面填充0,使用语法为:

str.zfill(width)

"18".zfill(10) # '0000000018'

精度与类型f
精度常跟类型f一起使用:

"{:.2f}".format(3.1415926) # '3.14'
# 小数点后2位 float类型

其他进制
b、d、o、x分别代表二进制、十进制、八进制、十六进制。

"{:b}".format(18) # '10010'
"{:d}".format(18) # '18'
"{:o}".format(18) # '22'
"{:x}".format(18) # '12'

千位分隔符

"{:,}".format(1234567890) # '1,234,567,890'

str.format( )是一个升级版本,代码易读,但当处理多个参数和更长字符串时,非常冗长,每个变量都要指明。

使用字典的方式 .format(**dict) 解压,并通过字符串中的键值引用。

  1. Python 3.6 之 f'{}' —— 一种改进Python格式字符串的新方法

格式化字符串常量(formatted string literals)是 Python 3.6 新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。

f-string在形式上是以 f 或者 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替代的字段。

f-string本质上不是字符串产常量,而是一个在运行时运算求值的表达式。

# 创建
my_dict = {'name':'Hider',
           'age':'100'}

print(f"My name is {my_dict['name']}, I'm {my_dict['age']}.")
# My name is Hider, I'm 100.

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.

二、字符串前加"r"

r 的作用是去除转义字符。

例如:\n 表示反斜杠字符 + 字母n,而不是换行符。

以 r 开头的字符,常用于正则表达式,对应 re 模块。

str1 = 'input\n'
str2 = r'input\n'
print(str1) # input 并换行
print(str2) # input\n

三、字符串前加"b"

b 的作用是表示一个 bytes 对象。

网络编程中,服务器和浏览器只认 bytes 类型数据。

例如:

response = b'Hello World!'

send 函数的参数和 recv 函数返回值都是 bytes 类型。

在 Python3 中,bytes 和 str 相互转换方式:

str.encode('utf-8') # 编码
bytes.decode('utf-8') # 解码

四、字符串前加"u"

u 的作用是表示字符串以 Unicode 格式进行编码。

一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。

例如:

u'我是中文字符串。'

https://blog.51cto.com/u_15127632/2739868

标签:前加,format,python,18,age,字符串,100,name
From: https://www.cnblogs.com/michaelcjl/p/17514989.html

相关文章

  • python 中 fnmatch模块, textwrap 模块
    python中fnmatch模块,textwrap模块fnmatch模块查找文件使用fnmatch来查找特定的文件,大部分情况下,使用字符串匹配查找特定的文件就能满足需求,如果需要更加灵活的字符串匹配,可以使用标准库中的fnmatch库,这个库专门用来进行文件名匹配,支持使用通配符进行文件名的匹配1、fnmatc......
  • Python seaborn库绘图
    一直没搞清楚这个库到底是怎么工作的贴个链接在这里,及时整理!参考链接https://zhuanlan.zhihu.com/p/75477750https://zhuanlan.zhihu.com/p/158751106......
  • Python报错 | PermissionError: [Errno 13] Permission denied: 'xxx'
    报错信息使用python对模型进行输出文件的过程中,报如下错误:PermissionError:[Errno13]Permissiondenied:'xxx'错误原因报错翻译过来是:权限错误:[errno13]权限被拒绝:错误产生的原因是文件无法打开,可能产生的原因是文件找不到,或者被占用,或者无权限访问,或者打开的不是文......
  • 【python爬虫案例】用python爬豆瓣电影TOP250排行榜!
    一、爬虫对象-豆瓣电影TOP250前几天,我分享了一个python爬虫案例,爬取豆瓣读书TOP250数据:【python爬虫案例】用python爬豆瓣读书TOP250排行榜!今天,我再分享一期,python爬取豆瓣电影TOP250数据!爬虫大体流程和豆瓣读书TOP250类似,细节之处见逻辑。首先,打开豆瓣电影TOP250的页面:https......
  • python线程简单使用
    简单使用python定义多线程列子,供读者参考:在下面的示例中,我们定义了两个函数func1和func2,它们都将在新线程中运行。然后,我们使用threading.Thread构造函数创建了两个新线程,并将func1和func2函数作为目标。最后,我们启动了两个线程,并使用join方法等待它们结束。但需要注意的是,如......
  • python基础day35 Mixins机制和元类
    Mixins机制classVehicle:#交通工具passclassFlyMinix():deffly(self):'''飞行功能相应的代码'''print("Iamflying")'''1.主类:就是大部分都是主要的功能2.辅类:就是一些辅助的功能3.辅类的类名也......
  • python打包exe总结 pyinstaller py2exe
    Python打包exe有挺多可以用的如pyinstallerpy2exe cx_Freezenuitkapy2apppy0xidizer cx_Freeze和nuitka没用过py2app是打包Mac程序的py0xidizer是打包嵌入式的占用空间少感兴趣可以自行了解 这篇文章记录一下pyinstaller和py2exe的用法 以便以后查找  注:以下都......
  • npm install报gyp ERR! stack Error: Can't find Python executable "python", you ca
    1gypERR!stackError:Can'tfindPythonexecutable"python",youcansetthePYTHONenvvariable.2gypERR!stackatPythonFinder.failNoPython(/Users/scott/project/dx_project/front_project/workflow-frontend-elem/node_modules/node-......
  • Python Flask - 快速构建Web应用详解
    本文将详细探讨PythonFlaskWeb服务。我将首先简单介绍Flask,然后将逐步进入Flask中的路由、模板、表单处理以及数据库集成等高级概念,目标是能够让大家了解并掌握使用Flask来创建动态Web应用的技巧。1.Flask简介Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架。它被设计......
  • Python错误:requests请求https网站报错SSLError
    问题描述:用requests包请求https的网站时,经常会遇到证书问题,也就是常见的SSLerror:requests.exceptions.SSLError:HTTPSConnectionPool(host='www.xxx.com',port=443):Maxretriesexceededwithurl:xxx.html(CausedbySSLError(SSLCertVerificationError(1,'[S......