《Modern Python Cookbook》(Python经典实例)笔记1.8 使用模板字符串.format()构建复杂的字符串

深入解析USB3.0一致性测试的关键技术与实践指南 本文深入解析了USB3.0一致性测试的核心技术与实践指南。文章阐述了测试如何确保设备在5Gbps高速传输下的信号完整性、电源管理合规性及协议兼容性,并提供了从测试系统搭建到完整流程执行的实战经验,帮助工程师有效应对高速信号、电源与兼容性三大核心挑战。 阅读详情

我们一般使用模板以及相应替换规则将数据转换为更复杂的字符串。
案例说明:
假设有以下变量

In [1]: id = "IAD"
In [2]: location = "Dulles Intl Airport"
In [3]: max_temp = 32
In [4]: min_temp = 13
In [5]: precipitation = 0.4

我们想把他们拼装为类似 IAD : Dulles Intl Airport : 32 / 13 / 0.40的形式。
操作步骤:
(1) 根据目标字符串的结构创建模板字符串,将所有数据项替换为{}占位符。在每个占位符内,放置数据项的名称。
'{id} : {location} : {max_temp} / {min_temp} / {precipitation}'
(2)使用字符串的format()方法创建目标字符串。

In [14]: template = '{id}:{location}:{max_temp} / {min_temp} / {precipitation}'
In [15]: template.format(id=id,location=location,max_temp=max_temp,min_temp=min_temp,precipitation=precipitation)
Out[15]: 'IAD:Dulles Intl Airport:32 / 13 / 0.4'

(3)我们可以发现创建的目标字符串格式有些不太准确,其实模板字符串的数据项还可以添加数据类型标识。基本数据类型代码如下:

  • s为字符串
  • d为十进制数
  • f为浮点数
    添加类型代码后的模板字符串如下所示:
In [16]: template = '{id:s}  : {location:s} : {max_temp:d} / {min_temp:d} / {precipitation:f}'
In [17]: template.format(id=id,location=location,max_temp=max_temp,min_temp=min_temp,precipitation=precipitation)
Out[17]: 'IAD  : Dulles Intl Airport : 32 / 13 / 0.400000'

(4)长度信息不是必须的,在某些情况下,甚至不需要长度信息。然而,在本例中,长度信息确保每个消息具有一致的格式。长度信息添加在类型代码之前。对于字符串和十进制数字,长度信息的格式如19s或3d。对于浮点数,长度信息的格式如5.2f,该长度信息指定了两部分内容:总长度为5个字符,其中2个在小数点的右边。整个模板字符串如下所示。

In [20]: template = '{id:3s}  : {location:19s} : {max_temp:3d} / {min_temp:3d} / {precipitation:5.2f}'
In [21]: template.format(id=id,location=location,max_temp=max_temp,min_temp=min_temp,precipitation=precipitation)
Out[21]: 'IAD  : Dulles Intl Airport :  32 /  13 /  0.40'

扩展1:
我们通过模板字符串的format()方法按照名称提供所有变量。在某些情况下,可能需要使用变量构建一个字典对象。这时,可以使用format_map()方法:

In [22]: data = dict(id=id,location=location,max_temp=max_temp,min_temp=min_temp,precipitation=precipitation)
In [23]: data
Out[23]:
{'id': 'IAD',
 'location': 'Dulles Intl Airport',
 'max_temp': 32,
 'min_temp': 13,
 'precipitation': 0.4}
In [24]: template.format_map(data)
Out[24]: 'IAD  : Dulles Intl Airport :  32 /  13 /  0.40'

扩展2:
内置的vars()函数可以构建一个所有局部变量的字典。

In [25]: template.format_map(vars())
Out[25]: 'IAD  : Dulles Intl Airport :  32 /  13 /  0.40'

vars()函数可以便捷地自动构建字典。
字符串的format()方法和format_map()方法都可以组装相对复杂的字符串。
这些方法的基本功能是根据关键字参数的名称或字典中的键将数据插入到字符串中。

h5页面调用微信JS-SDK分享到微信好友或者朋友圈的配置 1.引入js <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> 2.在页面添加配置 <script type="text/javascript"> var url = location.href.. 阅读详情

相关推荐

Solidworks曲面建模学习(三)——样条曲线

本文主要演示平面的空间样条曲线的一些绘制。

东东不熬夜的博客 6503

python中format()方法的格式控制

目录 一、基本使用格式 二、格式控制 1.<填充>、<对齐>、<宽度> 2.<精度> 一、基本使用格式 "模板字符串".format(<逗号分隔的参数>) "今天是{}年{}月{}日".format("2022","3",17) #数字加不加引号都可以,字符串需要加 今天是2022年3月17日 #槽中带序号: "今天是{2}年{1}月{0}日".format(2022,3,17) 今天是17年3月2022日 模板字符

Michale_L的博客 9402

从零构建RK3568视频处理管线:C++ V4L2捕获与RKMPP硬编解码实战

本文详细介绍了在RK3568平台上,使用C++语言从零构建高性能视频处理管线的实战过程。核心内容包括通过V4L2接口高效捕获摄像头视频流,并利用RKMPP硬件编码器实现零拷贝的H.264/H.265硬编码。文章深入讲解了设备初始化、DMA缓冲区管理、编码器参数配置以及主循环协同工作等关键步骤,旨在帮助开发者构建低延迟、高效率的嵌入式视频应用。

weixin_29193359的博客 85

format()方法的使用超全

字符串通过format()方法进行格式化处理,基本使用格式:.format() 其中模板字符串的槽的内部样式:{:} 其中,格式控制标记分为:、、、、、

m0_71869598的博客 1万+

Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)

2024年7月1日接到安全部门同事邮件通知,目前生产环境及测试环境服务器Openssh存在远程代码执行漏洞(CVE-2024-6387),漏洞等级高,且攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1

菜鸟运维升级之路 2万+

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

Python字符串格式化--format()方法

字符串类型格式化采用format()方法,基本使用格式是:      .format()      由一系列的槽组成,用来控制修改字符串中嵌入值出现的位置,其基本思想是将format()方法的中的参数按照序号关系替换到的槽中。槽用大括号({})表示,如果大括号中没有序号,则按照出现顺序替换。 如果大括号中指定了使用参数的序号,按照序号对应参数替换。调用format()方法后会返回一个新的字符串

学习使我快乐 15万+

游戏大厂射击游戏无缝大世界游戏DS服务器架构设计方案详解

摘要: 本文深入解析游戏大厂无缝大世界射击游戏的分布式服务器(DS)架构设计方案。以《和平精英》《量子特攻》为例,阐述如何通过动态分区、兴趣管理、弹性扩缩等核心技术应对高并发、低延迟、无缝切换等挑战。架构分为世界协调层、分区计算层、物理判定层等模块,结合微服务化、快照同步和Kubernetes调度,实现玩家跨区无感知迁移与一致判定。重点优化动态负载均衡、状态同步算法及容灾备份,依托分布式数据库与多云部署保障高可用性,为同类游戏提供可扩展的技术范本。(149字) 关键词: 无缝大世界、分布式服务器、动态分区、

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 563

String.format() 构建字符串模板

目录一、使用 String.format() 构建短信模板1. 定义常量类2. 拼接内容3. 输出结果二、format 源码 一、使用 String.format() 构建短信模板 1. 定义常量类 package com.test.constants; /** * 用户常量 */ public interface UserConstants { String SMS_TITLE =...

steven 994

【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:《ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换》,但是该文章中的做法只能一次性实现一景影像的转换,没法批量,虽然ArcGIS中提供了Batch的方法但是需要挨个添加数据,确定输出路径等等,本文就实现以ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换。先来看投影后的效果: 在实现批量投影转换之前,需要两个投影文件:Sinusoidal.prj和MyAl

智慧空间实验室 3815

【中国大学生计算机设计大赛信息可视化赛道】国奖项目深入剖析—中国古代奇异怪兽移动端可视化应用项目

【中国大学生计算机设计大赛信息可视化赛道】国奖项目深入剖析—中国古代奇异怪兽移动端可视化应用项目 注:本文主要目的是对于往年国奖项目案例-可视化项目的深入剖析讲解,对源码、项目特点、要点、特色继续深入分析。帮助大家学习技术,掌握规律。

一键难忘的博客 3729

Python——format()方法_字符串输出

从Python2.6开始,就增加了一种格式化字符串的str.format()方法,这种方法方便了用户对字符串进行格式化处理。 1.模板字符串与format()方法中参数的对应关系 str.format()方法中的 str 被称为模板字符串,其中包括多个由“{}”表示的占位符,这些占位符接收 format()方法中的参数。 str 模板字符串与format()方法中的参数的对应关系有以下3种情况 位置参数匹配 在模板字符串中,如果占位符{}为空(没有表示顺序的序号),将会按照参数出现的先后次序进行匹配。如果

XQC_KKK的博客 1233

Python APP反爬实战:Frida+Charles抓包,破解签名校验

Charles抓包定位参数 → jadx-gui反编译找函数 → Frida Hook拿密钥/规则 → Python还原签名算法;Frida的核心价值:Hook住APP的加密函数,拿到“输入(密钥/参数)+输出(签名)”,无需懂复杂的逆向底层;严格对齐APP的参数排序、拼接规则、加密算法,差一点都会验证失败。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1535

Python中字符串的格式化—format()方法

Python字符串类型的格式化 关于字符串的格式化,Python支持类似于C语言的printf()函数的格式化方法,也支持format()方法的格式化方法,因为Python更接近自然语言的复杂数据类型,无法全部通过类C的格式化方法,所以学Python着重使用format()方法进行字符串的格式化。 一、format()函数的基本使用 1、 print("{}{}".format(a,b),这里{}成为槽,要把后边format里的内容对应放在里边,假如a,b = 1,2 ,输出的结果为12; *2、*如果{}

Lanyan9的博客 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

format格式化字符串

1、语法结构字符串类型格式化采用format()方法,基本使用语法结构是: <模板字符串>.format(<逗号分隔的参数>)调用format()方法后会返回一个新的字符串,参数从索引0 开始。"{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10) #'2016-12-31:计算机PYTHON的CPU 占用率...

weixin_30907523的博客 285

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JavaScript 字符串拼接的解决方案 模板字符串 String实例的format()方法 自定义字符串格式化format规则

文章目录场景Demo代码分析自定义字符串方法 场景 拼接多个变量,不想用字符串拼接符+,也不想用console.log(...args)依次打印多个参数。 那么有两种解决方法: ES6新特性中的模板字符串 String实例的format()方法。 Demo 模板字符串 var name = "张三"; var age = "22"; var result = `${name} 今年 ${age} 岁了`; console.log(result); 张三 今年 22 岁了 模板字符串用反引号包围,其

wuyujin1997的博客 3016

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《Modern Python Cookbook》(Python经典实例)笔记1.4 浮点数、小数、分数

货币值计算 计算货币值时,应当使用decimal模块,如果使用float会出现舍入和截断问题。 decimal.quantize()函数的使用。 decimal模块提供各种舍入规则。 分数计算 分数计算使用fractions模块。 分母是2的幂时,分数得到的浮点值很精确,不是2的幂时会产生浮点近似值。

mighty13的专栏 2万+

《Modern Python Cookbook》(Python经典实例)笔记1.2 命名

类一般用大驼峰命名法CapitalizedCamelCase,即每个单词的首字母大写 其他对象用蛇底命名法snake_case 文件名应当遵循Python命名法,要不然影响作为模块或包使用 链式命名法:x=y=1

mighty13的专栏 2万+

《Modern Python Cookbook》(Python经典实例)笔记1.3大整数和小整数

Python3中有大整数和小整数之分。区分的标准在于是否大于sys.maxsize。小整数一般是4字节或8字节表示,差异在于Cython的编译器,32位小整数一般用32位表示,64位用64位二进制表示。网上很多教程里说整数只能小于sys.maxsize不太准确。因为的确可以使用一些超大的整数,比如2**10000,这个数有多大呢。 用len(str(2**10000))算了下,总共3011位数字。

mighty13的专栏 2万+

《Modern Python Cookbook》(Python经典实例)笔记1.5 真除法和向下截断除法(floor除法)

对于除法我们一般有三种期待结果: 商和余数 真值,浮点值 准确的分数 商和余数计算 用floor除法运算,即向下截断的除法运算和模运算。真值计算 用真除法,即我们一般意义上的除法,得到浮点值结果有理分数计算 可以使用fractions模块

mighty13的专栏 2万+

《Modern Python Cookbook》(Python经典实例)笔记 1.13 使用元组

Python基本数据类型中,元组应该是最容易被忽视的。 创建元组 创建元组,步骤如下。 (1) 把数据用()括起来。 (2) 用,把元素隔开。 对于单例元组(只有一个元素的元组),是不能省的 (1,) ()并不是必须的,某些情况下可以省略。 In [1]: 1, Out[1]: (1,) 字符串是字符的序列,而元组是元素的序列,而且元组是多种对象的序列。因为字符串和元组都是序列,所以它们有一些共同的特性,如索引、切片等等。 元组最有特色的操作应该是元组解包和元组封包了! ...

mighty13的专栏 1万+

Modern Python Cookbook》(Python经典实例)笔记 2.3 编写长行代码

Python一行代码的长度一般限制为不超过80个字符,因为这种做法符合众所周知的平面设计原则:短代码可读性强。关于每行的长度众说纷纭,但65个字符通常被认为是最理想的。 语法规则清楚地表明,语句必须在单个逻辑(logical)行上完成。 术语“逻辑行”提示了应该如何解决长语句问题。Python区分逻辑行和物理行,我们可以利用这些语法规则分解长语句。逻辑行包含一个完整的语句,它可以通过行连接(line joining)技术跨越多个物理行。Python语言参考手册称这种技术为显式行连接(explicit lin

mighty13的专栏 1万+

《Modern Python Cookbook》(Python经典实例)笔记1.9 通过字符列表创建复杂的字符串

案例说明: title = “Recipe 5: Rewriting an Immutable String” 要求对title进行以下操作: 移除:之前的子字符串; 将标点符号和空格替换为_,将所有字符转换为小写。 思路: 将字符串转换为列表,根据:的索引,利用切片删除:前的列表元素 逐元素将字符转换为小写 替换:后的子字符串中的空格和标点符号 要点: 本案例用到了string模块。string模块有两个重要的常量。 string.whitespace列出了所有常用的空白字符,包括空格和制表符。

mighty13的专栏 1万+

《Modern Python Cookbook》(Python经典实例)笔记1.7 使用正则表达式解析字符串

Python内置了正则表达式模块re。 分解复杂字符串最简单的方法是将字符串归纳为模式(pattern),然后编写描述该模式的正则表达式。 案例: 假设我们想分离某个食谱网站中的文本。每行内容如下所示: ingredient = "Kumquat: 2 cups" 操作步骤如下: (1)分析文本,概括模式,文本可以分为如下3个部分 (ingredient words): (amount digits) (unit words) (2)导入re模块 (3)把模式改写为正则表达式 (4)编..

mighty13的专栏 1万+

《Modern Python Cookbook》(Python经典实例)笔记 1.11 编码字符串——创建ASCII和UTF-8字节

Unicode字符通常被编码为字节序列。这些字符中既有很多标准编码,也有很多非标准编码。 Python通常使用操作系统的默认编码处理文件和互联网通信,每个操作系统的处理细节各不相同。 使用PYTHONIOENCODING环境变量进行通用设置。在Python之外设置这个变量可以保证在操作系统范围内使用特定的编码。 Linux操作系统环境变量的设置命令如下:export PYTHONIOENCODING=UTF-8 Windows操作系统环境变量的设置方法:我的电脑\计算机 →高级系统配置 → 环境变量→高级

mighty13的专栏 1万+

《Modern Python Cookbook》(Python经典实例)笔记 1.10 使用键盘上没有的Unicode字符

案例背景: Python默认支持Unicode。可用的独立Unicode字符有几百万个,这些字符中绝大多数我们使用键盘无法直接输入。 很多计算机中的字体可能在设计时就没有考虑提供这些字符,特别是Windows计算机中的字体可能无法显示这些Unicode字符。Linux和Mac OS X几乎没有关于Unicode字符的问题。 在本案例中,我们将讨论如何表示这些特别的Unicode字符。 原理: Python使用转义序列(escape sequence)扩展普通字符。通过转义序列我们可以输入海量的 Unicod

mighty13的专栏 1万+
上一篇: 《Modern Python Cookbook》(Python经典实例)笔记1.7 使用正则表达式解析字符串
下一篇: 京东图书详情页定价获取
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值