python中格式化输出知识点汇总

在Python中,格式化输出是一种常见的操作,用于将数据以特定的格式展示。以下是Python中格式化输出的主要方法:

 

### 1. 使用 `%` 操作符

这是Python早期版本中常用的格式化方法,类似于C语言中的`printf`。

 

- **基本语法**:`"格式化字符串" % 值`

- **多个值**:`"格式化字符串" % (值1, 值2, ...)`

 

**常用格式化符号**:

- `%s`:字符串

- `%d`:整数

- `%f`:浮点数

- `%x`:十六进制整数

- `%o`:八进制整数

 

**示例**:

```python

name = "Alice"

age = 25

print("Name: %s, Age: %d" % (name, age))

```

 

### 2. 使用 `str.format()` 方法

`str.format()` 是Python 2.6引入的格式化方法,功能更强大且灵活。

 

- **基本语法**:`"格式化字符串".format(值1, 值2, ...)`

- **位置参数**:`"{} {}".format(value1, value2)`

- **关键字参数**:`"{name} {age}".format(name="Alice", age=25)`

- **索引**:`"{0} {1}".format(value1, value2)`

- **格式化符号**:`"{:.2f}".format(3.14159)`(保留两位小数)

 

**示例**:

```python

name = "Alice"

age = 25

print("Name: {}, Age: {}".format(name, age))

print("Name: {name}, Age: {age}".format(name=name, age=age))

print("Pi: {:.2f}".format(3.14159))

```

 

### 3. 使用 f-string(格式化字符串字面值)

f-string 是Python 3.6引入的格式化方法,简洁且高效。

 

- **基本语法**:`f"格式化字符串"`

- **表达式**:`f"{表达式}"`

- **格式化符号**:`f"{value:.2f}"`(保留两位小数)

 

**示例**:

```python

name = "Alice"

age = 25

print(f"Name: {name}, Age: {age}")

print(f"Pi: {3.14159:.2f}")

```

 

### 4. 使用 `string.Template`

`string.Template` 是Python标准库中的模板字符串类,适合简单的字符串替换。

 

- **基本语法**:`Template("$变量名").substitute(变量名=值)`

- **安全替换**:`Template("$变量名").safe_substitute(变量名=值)`(避免未定义变量报错)

 

**示例**:

```python

from string import Template

template = Template("Name: $name, Age: $age")

print(template.substitute(name="Alice", age=25))

```

 

### 5. 格式化输出的常见操作

- **对齐**:

  - `{:>10}`:右对齐,宽度10

  - `{:<10}`:左对齐,宽度10

  - `{:^10}`:居中对齐,宽度10

 

- **填充字符**:

  - `{:*>10}`:右对齐,宽度10,用`*`填充

 

- **数字格式化**:

  - `{:.2f}`:保留两位小数

  - `{:,}`:千位分隔符

  - `{:b}`:二进制格式

  - `{:x}`:十六进制格式

 

**示例**:

```python

print(f"{'Alice':>10}") # 右对齐,宽度10

print(f"{3.14159:.2f}") # 保留两位小数

print(f"{1000000:,}") # 千位分隔符

```

 

### 总结

- **`%` 操作符**:适用于简单格式化,但功能有限。

- **`str.format()`**:功能强大,支持位置和关键字参数。

- **f-string**:简洁高效,推荐使用。

- **`string.Template`**:适合简单的模板替换。

 

根据需求选择合适的格式化方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/70419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完美转发使用

完美转发的几个例子 例子 1&#xff1a;普通的完美转发 首先&#xff0c;我们先来一个简单的完美转发的例子&#xff0c;展示如何使用 std::forward 来保持传入参数的类型。 #include <iostream> #include <utility> // std::forwardvoid func(int& x) {st…

【Content-Type详解、Postman中binary格式、json格式数据转原始二进制流等】

Content-Type详解、Postman中binary格式、json格式数据转原始二进制流等 背景&#xff1a;postman中如何使用binary格式上传文件 Content-TypeContent-Type的格式由三部分组成&#xff1a;以下是一些常见的Content-Type示例&#xff1a; Postman中 binary格式定义&#xff1a;用…

DeepSeek等大模型功能集成到WPS中的详细步骤

记录下将**DeepSeek功能集成到WPS中**的步骤&#xff0c;以备忘。 1. 下载并安装OfficeAI插件 访问OfficeAI插件下载地址&#xff1a;https://www.office-ai.cn/&#xff0c;下载插件&#xff08;目前只支持windows系统&#xff09;。 注意&#xff0c;有两个插件&#xff0…

MATLAB学习之旅:从入门到基础实践

在当今科技飞速发展的时代,MATLAB作为一款强大的数学软件,犹如一把神奇的钥匙,能够打开众多领域的大门。无论是工程计算、数据分析,还是算法开发、可视化呈现,MATLAB都展现出了无与伦比的魅力。今天,就让我们踏上这段奇妙的MATLAB学习之旅,从最基础的部分开始,逐步探索…

在Ubutu18.04下搭建nfs服务器

在Ubutu18.04下搭建nfs服务器 主要参考这篇博客 Ubuntu18.04下安装NFS详细步骤_乌班图安装nfs-CSDN博客 1.安装NFS服务&#xff1a; 服务器端&#xff1a; sudo apt install nfs-kernel-server

栈,优先级队列,map,set

文章目录 栈题目解析代码 优先级队列题解代码 map题解代码 set题解代码 栈 题目解析 1.先把元素push进栈中&#xff0c;如果栈非空并且栈中的元素按顺序和k相等就出栈&#xff0c;直到栈为空或者k ! sk.top() 代码 #include<iostream> #include<stack> #include&l…

C++ Primer 类的静态成员

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

Java——super

在Java中&#xff0c;super关键字用于引用父类的成员&#xff08;属性、方法或构造器&#xff09;。它在继承关系中非常重要&#xff0c;主要用于以下几种场景&#xff1a; 1. 调用父类的构造器 在子类的构造器中&#xff0c;可以使用super关键字调用父类的构造器。super()必须…

Unity 全局屏幕点击特效

思路&#xff1a; 1、生成一个点击特效实例&#xff0c;每点击屏幕&#xff0c;就调整特效实例的位置并控制特效的显隐状态即可。 2、需要注意要保证在编辑器开发时或手机上运行时都要显示点击效果。 方案一 &#xff08;推荐&#xff09; using UnityEngine; using UnityEn…

什么是业务流程分类框架

业务流程分类框架是一个用于组织和系统化地分类业务流程的结构化方法。它旨在帮助企业理解、管理、分析和改进其运营流程。 可以把它想象成一个图书馆的图书分类系统&#xff0c;帮助快速找到和理解不同类型的书籍。对于业务流程来说&#xff0c;分类框架帮助快速了解不同类型的…

基于springboot校园健康系统的设计与实现(源码+文档)

大家好我是风歌&#xff0c;今天要和大家聊的是一款基于springboot的园健康系统的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于springboot校园健康系统的设计与实现的主要使用者管理员具有最高的权限&#xff0c;通…

【Leetcode】平衡二叉树

平衡二叉树 题目 思路与代码实现 常规解法&#xff1a; int max(int a,int b){return a>b?a:b;}int maxDepth(struct TreeNode* root) {if(rootNULL)return 0;return 1max(maxDepth(root->left),maxDepth(root->right)); }bool isBalanced(struct TreeNode* root)…

【AI实践】阿里百炼文本对话Agent安卓版搭建

环境&#xff1a;安卓手机运行环境&#xff1b;WinsurfAI编程工具&#xff1b;阿里百炼提前创建Agent应用&#xff1b; 耗时&#xff1a;2小时&#xff1b; 1&#xff0c;新建安卓项目 完成文本输入&#xff0c;并将输入的文字显示出来。 2&#xff0c;安装SDK 参考文档 安…

一文读懂Docker之Docker Compose

目录 一、Docker Compose简介 二、Docker Compose的安装和基本使用 1、Docker Compose的安装 步骤一、下载docker-compose 步骤二、新增可执行权限 步骤三、查看是否安装成功 2、Docker Compose的基本使用 (1)、docker-compose up (2)、docker-compose ps (3)、docke…

WordPress“更新失败,响应不是有效的JSON响应”问题的修复

在使用WordPress搭建网站时&#xff0c;许多人在编辑或更新文章时&#xff0c;可能会遇到一个提示框&#xff0c;显示“更新失败&#xff0c;响应不是有效的JSON响应”。这个提示信息对于不了解技术细节的用户来说&#xff0c;太难懂。其实&#xff0c;这个问题并不复杂&#x…

信息学奥赛一本通 1973 【16NOIP普及组】买铅笔 | 洛谷 P1909 [NOIP 2016 普及组] 买铅笔

【题目链接】 ybt 1973 【16NOIP普及组】买铅笔 洛谷 P1909 [NOIP 2016 普及组] 买铅笔 【题目考点】 1. 简单数学 2. 数组 3. 向上取整 <cmath>中有函数double ceil(double x)&#xff0c;求x向上取整的值。 如果求正整数 ⌈ a b ⌉ \lceil \frac{a}{b} \rceil ⌈…

C++中的.*运算符

看运算符重载的时候&#xff0c;看到这一句 .* :: sizeof ?: . 注意以上5个运算符不能重载。 :: sizeof ?: . 这四个好理解&#xff0c;毕竟都学过&#xff0c;但.*是什么&#xff1f; 于是自己整理了一下 .* 是一种 C 中的运算符&#xff0c;称为指针到成…

【JavaEE进阶】MyBatis通过注解实现增删改查

目录 &#x1f343;前言 &#x1f340;打印日志 &#x1f334;传递参数 &#x1f38b;增(Insert) &#x1f6a9;返回主键 &#x1f384;删(Delete) &#x1f332;改(Update) &#x1f333;查(Select) &#x1f6a9;起别名 &#x1f6a9;结果映射 &#x1f6a9;开启驼…

【分布式理论14】分布式数据库存储:分表分库、主从复制与数据扩容策略

文章目录 一、分表分库1. 数据分表的必要性与方式2. 数据分库原则与优势 二、主从复制1. 读写分离架构设计2. 数据复制方式3. MySQL实现主从复制4. MySQL主从复制实践与高可用方案 三、数据扩容 随着业务的不断发展和数据量的增长&#xff0c;传统的单机关系型数据库已经逐渐不…

vxe-grid 通过配置式给单元格字段格式化树结构数据,转换树结构节点

vxe-grid 通过配置式给单元格字段格式化树结构数据&#xff0c;转换树结构节点 比如用户自定义配置好的数据源&#xff0c;通过在列中配置好数据&#xff0c;全 json 方式直接返回给前端渲染&#xff0c;不需要写任何格式化方法。 官网&#xff1a;https://vxetable.cn npm i…