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

【python基础】format格式化函数的使用

文章目录

  • 前言
  • 一、format()内容匹配替换
    • 1、序号索引
    • 2、关键字
    • 3、列表索引
    • 4、字典索引
    • 5、通过类的属性
    • 6、通过魔法参数
  • 二、format()数字格式化


前言

语法:str.format()
说明:一种格式化字符串的函数。


一、format()内容匹配替换

1、序号索引

在没有参数序号时,参数是按顺序使用的。

主要格式:print(‘{} {}’.format(‘str1’,‘str2’))

print('{} {}'.format('hello','world'))
##输出结果:hello world

可以通过format()参数序号指定参数的使用,参数从0开始编号(与索引编号规律一致)

主要格式:print(‘{0} {1}’.format(‘str1’,‘str2’))

print('{0} {1}'.format('hello','world'))
输出结果:hello world

一个参数可以多次插入

print('{0} {1} {0}'.format('hello','world'))
##输出结果:hello world helloprint('{1} {1} {0}'.format('hello','world'))
##输出结果:world world hello

2、关键字

主要格式:print(‘{关键字索引1} {关键字索引2}’.format(关键字索引1=‘关键字1’,关键字索引2=‘关键字2’))

obj = 'world'
name = 'lily'
print('hello {obj},my name is {name}'.format(obj=obj,name = name))##输出结果:hello world,my name is lily

3、列表索引

主要格式:

  • list1=[‘列表值1’,‘列表值2’,‘列表值3’…]
  • print(‘{list[列表索引1],list[列表索引2]}’.format(list=list1))

在format格式化时,可以使用*或者**对list进行拆分。

  • print(‘{list[列表索引1],list[列表索引2]}’.format(*list1))
list = ['world','lily']
print('hello {names[0]},my name is {names[1]}'.format(names=list))
##输出结果:hello world,my name is lilylist = ['world','lily']
print('hello {0[0]},my name is {0[1]}'.format(list)) #"0"是必须的。
##输出结果:hello world,my name is lilylist = ['world','lily']
print('hello {0},my name is {1}'.format(*list)) #"0"是必须的。
##输出结果:hello world,my name is lily

4、字典索引

主要格式:

  • dict1={‘键1’:‘值1’,‘键2’:‘值2’,…}
  • print(‘{dict[键1]},{dict[键2]}’.format(dict=dict1))

在format格式化时,可以使用**进行字典拆分。

  • print(‘{dict1[键1]},{dict1[键2]}’.format(**dict1))
dict={"obj":"world","name":"lily"}
print('hello {names[obj]},my name is {names[name]}'.format(names=dict))
##输出结果:hello world,my name is lilydict={"obj":"world","name":"lily"}
print('hello {obj},my name is {name}'.format(**dict))
##输出结果:hello world,my name is lily

5、通过类的属性

主要格式:

  • 类定义
    class 类名字():
    类内定义=‘类值’

    print(‘value.类内定义’.format(value=类名字))
class Value1():obj='lily'name='world'
print('hello {value.obj} , my name is {value.name}'.format(value=Value1))##输出结果:hello world,my name is lily

6、通过魔法参数

args=[',','one']
kwargs={"obj":"world","name":"lily"}
print('hello {obj},my name is {name}'.format(*args,**kwargs))
##输出结果:hello world,my name is lilyprint('hello {obj},my name is {name}'.format(',','one',obj='world',name='lily'))
##输出结果:hello world,my name is lily

魔法参数跟函数中使用的性质是一样的,魔法参数详情可参考文档:魔法参数*args, **kwargs的使用

二、format()数字格式化

:<填充><对齐><符号><宽度>,<精度><类别>
用于填充单个字符^ 表示居中,
<表示左对齐,
> 表示右对齐
+ 表示在正数前显示 +,负数前显示 -;
- 表示正数前不显示,负数前显示;
空格表示正数前加空格,负数前加负号;
#对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;
反之则不显示前缀。
槽的设定,
输出宽度
数字的千位分隔符,适用于整数和浮点数浮点数小数部分的精度或字符串的最大输出长度整数类型b,d,o,x ,
浮数类型e,E,f,%

b,d,o,x 分别是二进制,十进制,八进制,十六进制。
e,E,f,% 分别是小写字母e的科学计数法,大写字母E的科学计数法,转换为浮点数(默认小数点后六位),显示百分比(默认小数点后六位)

举例:

  • <填充>与<宽度>
print('{:0>2d}'.format(5)) #数字补零,填充左边,宽度为2
##输出结果:05print('{:x<4d}'.format(5)) #数字补x,填充左边,宽度为4
##输出结果:5xxx
  • <对齐>与<宽度>
print('{:>10d}'.format(13))  #右对齐 (默认, 宽度为10)
##输出结果:        13print('{:<10d}'.format(13))  #左对齐,宽度为10
##输出结果:13        print('{:^10d}'.format(13))  #中间对齐,宽度为10
##输出结果:    13    
  • <,>
print('{:,}'.format(1000000)) #以逗号分隔数字格式。
##输出结果:1,000,000
  • <.精度> (注意里面有个点号)
print('{:.5}'.format(12.397539)) #保留5位数
##输出结果:12.398
  • <符号>与 <类型>
print('{:.2%}'.format(0.25)) #百分比格式
##输出结果:25.00%print('{:.2e}'.format(100000000)) #指数记法
##输出结果:1.00e+08print('{:.2f}'.format(3.1415926)) #保留小数点后两位
##输出结果:3.14print('{:+.2f}'.format(3.1415926)) #带符号保留小数点后两位
##输出结果:+3.14print('{:-.2f}'.format(-1)) #带符号保留小数点后两位
##输出结果:-1.00print('{:.0f}'.format(2.89)) #不带小数,四舍五入
##输出结果:3
print('{:b}'.format(11)) #二进制表示 
##输出结果:1011print('{:d}'.format(11)) #十进制表示
##输出结果:11print('{:o}'.format(11)) #八进制表示
##输出结果:13print('{:x}'.format(11)) #十六进制表示
##输出结果:bprint('{:#X}'.format(11))
##输出结果:0XBprint('{:#x}'.format(11))
##输出结果:0xb

参考文档:
https://blog.csdn.net/weixin_69553582/article/details/129830874

相关文章:

【python基础】format格式化函数的使用

文章目录 前言一、format()内容匹配替换1、序号索引2、关键字3、列表索引4、字典索引5、通过类的属性6、通过魔法参数 二、format()数字格式化 前言 语法&#xff1a;str.format() 说明&#xff1a;一种格式化字符串的函数。 一、format()内容匹配替换 1、序号索引 在没有参…...

Java web(三):Http、Tomcat、Servlet

文章目录 一、Java web技术栈二、Http1.1 Http请求数据格式1.2 Http响应数据格式1.3 状态码 二、Tomcat2.1 介绍2.2 web项目结构2.3 IDEA中使用Tomcat 三、Servlet3.1 Servlet使用3.2 Servlet生命周期3.3 Servlet方法和体系结构3.4 urlPattern配置 四、Request4.1 获取请求数据…...

Java实现Hive UDF详细步骤 (Hive 3.x版本,IDEA开发)

这里写目录标题 前言1. 新建项目2.配置maven依赖3.编写代码4.打jar包5.上传服务器6.代码中引用 前言 老版本编写UDF时&#xff0c;需要继承 org.apache.hadoop.hive.ql.exec.UDF类&#xff0c;然后直接实现evaluate()方法即可。 由于公司hive版本比较高&#xff08;3.x&#x…...

Vue进阶(幺陆肆)Apache的Access.log分析总结

文章目录 一、前言二、常用指令 一、前言 前端项目排错阶段&#xff0c;可借助apache的Access.log进行请求日志查看。 二、常用指令 #查看80端口的tcp连接 #netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l #当前WEB服务器中联接次数最多的ip地…...

Apple 苹果发布 M3、M3 Pro 和 M3 Max 芯片

本心、输入输出、结果 文章目录 Apple 苹果发布 M3、M3 Pro 和 M3 Max 芯片前言M3、M3 Pro 和 M3 Max 芯片的性能相关资料图M3 Pro规格M3 Max规格弘扬爱国精神 Apple 苹果发布 M3、M3 Pro 和 M3 Max 芯片 编辑&#xff1a;简简单单 Online zuozuo 地址&#xff1a;https://blog…...

Linux常用命令及主流服务部署大全

目录 Linux 系统目录 一、常用操作命令 1、目录操作 2、文件内容操作&#xff08;查看日志&#xff0c;更改配置文件&#xff09; 3、压缩和解压缩 4、更改文件权限 二、各服务部署命令 1、增加虚拟内存 2、JDK 2.1 删除系统自带的openjdk 2.2 安装jdk 2.3 删除jd…...

list-watch集群调度

调度约束 Kubernetes 是通过 List-Watch **** 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面建立 Pod 和 Container。…...

深度强化学习中的神经网络部分的作用是什么?一般如何选择合适的神经网络呢?

在深度强化学习中&#xff0c;神经网络部分通常用于实现值函数近似或策略近似&#xff0c;以帮助智能体学习如何在一个环境中做出决策以获得最大的累积奖励。这些神经网络在深度强化学习中扮演着重要的角色&#xff0c;具体作用如下&#xff1a; 1.值函数近似&#xff08;Valu…...

若依系统的数据导入功能设置

一、后端 Log(title "公交站牌", businessType BusinessType.IMPORT)PreAuthorize("ss.hasPermi(busStop:busStop:import)")PostMapping("/importData")public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exce…...

vue页面父组件与子组件相互调用方法和传递参数值

vue页面父组件与子组件相互调用方法和传递参数值 父组件页面定义 <el-button type"text" icon"el-icon-refresh" click"refreshClick" slot"label"></el-button> <leftList leftClick"loadModelClick" r…...

vim使用

概述 vi&#xff08;visual editor&#xff09;是Unix/Linux编辑器的一种。类似于win中notepad。vim&#xff08;vi improved&#xff09;加强版 安装vim&#xff1a; $ yum install vim -y四种模式 命令模式&#xff1a;快速进行复制、粘贴、删除等操作&#xff0c;还可以…...

人工智能基础_机器学习014_BGD批量梯度下降公式更新_进一步推导_SGD随机梯度下降和MBGD小批量梯度下降公式进一步推导---人工智能工作笔记0054

然后我们先来看BGD批量梯度下降,可以看到这里,其实这个公式来源于 梯度下降的公式对吧,其实就是对原始梯度下降公式求偏导以后的梯度下降公式,然后 使用所有样本进行梯度下降得来的,可以看到* 1/n 其实就是求了一个平均数对吧.所有样本的平均数. 然后我们看,我们这里* 1/n那么…...

Android STR研究之一

简介&#xff1a; 先上一段谷歌的介绍 谷歌的网站地址&#xff1a; 电源管理 | Android 开源项目 | Android Open Source Project (google.cn) 术语 STR&#xff1a; STR(Suspend To RAM)的意思是“挂起到内存”,它是一种瞬间开机技术(On Now)。 当系统进入“挂起”状态…...

单链表的详解实现

单链表 结构 单链表结构中有两个数据&#xff0c;一个是存储数据的&#xff0c;还有一个指针指向下一个节点。 该图就是一个简单单链表的结构图。 接口实现 SLNode* CreateNode(SLNDataType x);//申请节点 void SLTprint(SLNode* head);//打印链表 void SLTPushBack(SLNode*…...

抛弃 scp 改用 rsync,让 Linux 下文件传输高效无比

我们都使用过 scp 来传输文件。当传输在中途或甚至在 99% 时被中断时&#xff0c;&#xff08;每当我想起99%的中断传输时&#xff0c;我的心都很痛&#xff09;&#xff1b;让我们看看如何使用 rsync 来替代 scp&#xff0c;避免这样的不幸。 什么是rsync&#xff1f; Rsync…...

Leetcode 2919. Minimum Increment Operations to Make Array Beautiful

Leetcode 2919. Minimum Increment Operations to Make Array Beautiful 1. 解题思路2. 代码实现 题目链接&#xff1a;2919. Minimum Increment Operations to Make Array Beautiful 1. 解题思路 这一题就是一个动态规划的题目。 思路上来说&#xff0c;就是考察每一个没到…...

关键词搜索亚马逊商品数据接口(标题|主图|SKU|价格|优惠价|掌柜昵称|店铺链接|店铺所在地)

亚马逊提供了API接口来获取商品数据。其中&#xff0c;关键词搜索亚马逊商品接口&#xff08;item_search-按关键字搜索亚马逊商品接口&#xff09;可以用于获取按关键字搜索到的商品数据。 通过该接口&#xff0c;您可以使用API Key和API Secret来认证身份&#xff0c;并使用…...

[计算机提升] Windows系统软件:娱乐类

3.3 系统软件&#xff1a;娱乐类 3.3.1 Windows Media Player&#xff1a;dvdplay Windows Media Player是Windows操作系统自带的多媒体播放软件&#xff0c;用于播放和管理电脑中的音频和视频文件。它提供了以下功能&#xff1a; 播放音频和视频文件&#xff1a;Windows Med…...

【Git企业开发】第五节.远程操作

文章目录 前言一、理解分布式版本控制系统二、远程仓库 2.1 新建远程仓库 2.2 克隆远程仓库 2.3 向远程仓库推送 2.4 拉取远程仓库总结 前言 一、理解分布式版本控制系统 我们目前所说的所有内容(工作区&#xff0c;暂存区&#xff0c;版本库等等)&#x…...

idea 配置checkstyle全过程

checkstyle是提高代码质量,检查代码规范的很好用的一款工具&#xff0c;本文简单介绍一下集成的步骤&#xff0c;并提供一份完整的checkstyle的代码规范格式文件&#xff0c;以及常见的格式问题的解决方法。 一&#xff0c;安装 打开idea的文件选项&#xff0c;选择设置&…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...