Python 字符串格式化

news2024/11/26 12:33:17

视频版教程 Python3零基础7天入门实战视频教程

我们前面学到字符串拼接,如果简单的2,3个字符串拼接那还算好,如果大于3个变量的拼接,就比较麻烦。还有一点,就是字符串无法和和其他类型直接拼接,需要进行类型转换,也麻烦。这时候,Python提供了“%”对各种类型的数据进行格式化输出。

简单案例:

name = "小锋"
print("我的姓名是 %s" % name)

输出结果:

我的姓名是 小锋

这里 %s 是占位符,第二个 % 是分隔符,name就是变量了。这个很好理解。

我们再看一个实例:

name = "小锋"
age = 18
print("我的姓名是 %s,我今年%s岁了" % (name, age))

输出结果:

我的姓名是 小锋,我今年18岁了

这里多了一个int类型的age变量。我们输出的时候,用两个%s,中间依然用%间隔,第三块,括号里两个参数。注意参数的顺序不能乱。

除了%s,还有很多占位符,如下表。我们现在掌握最基础常用的%s,%d,%f,分别把参数或者表达式转换成字符串,整型,浮点型。
在这里插入图片描述

看下面实例:

name = "小锋"
age = 18
height = 181.2
print("我的姓名是 %s,我今年%s岁了" % (name, age))
print("我的姓名是 %s,我今年%d岁了" % (name, age))
print("我的姓名是 %s,我今年%d岁了,身高%f" % (name, age, height))

运行输出:

我的姓名是 小锋,我今年18岁了
我的姓名是 小锋,我今年18岁了
我的姓名是 小锋,我今年18岁了,身高181.200000

作业:定义五个变量,分别是姓名,性别,语文成绩,数学成绩,英语成绩,并且赋值,最终打印出类似 我是某某,男,语文成绩:99.2,数学成绩:100,英语88.5。要求格式化输出。

刚才我们打印身高,这个打印结果,后面多了五个0。这里就涉及到一个格式化精度控制。

我们可以使用辅助符号"m,n"来控制数据的宽度和精度;

  • m,控制宽度(包括小数点),注意,如果设置的宽度小于数字本身,则不生效。
  • n,控制小数点精度,注意,如果设置的宽度大于小数位数,则进行四舍五入。

我们先把前面的身高,加下小数精度 %.1f 这样输出结果就没有0了。

我们再看一下实例:

money1 = 99.99
money2 = 111.66
money3 = 10000
print("张三钱包余额:%10.2f元" % money1)
print("李四钱包余额:%10.1f元" % money2)
print("王五钱包余额:%10.2f元" % money3)

输出结果:

张三钱包余额:     99.99元
李四钱包余额:     111.7元
王五钱包余额:  10000.00元

作业:变量money4=1000.36 通过精度控制,保留一位小数字,数字宽度设置成8位。打印输出结果。

其实我们发现上面的字符串格式化方式,虽然功能强大,但是写起来也不是太方便,这边提供一种更加快捷优雅的格式化方式。

语法是:f"内容{变量}内容";

这种方式缺点是无法进行精度控制,以及也不关心类型,原值输出。

看下下面的测试案例:

name = "小锋"
age = 18
height = 181.2
print(f"我的姓名是 {name},我今年{age}岁了,身高{height}")

输入结果:

我的姓名是 小锋,我今年18岁了,身高181.2

作业:定义五个变量,分别是姓名,性别,语文成绩,数学成绩,英语成绩,并且赋值,最终打印出类似 我是某某,男,语文成绩:99.2,数学成绩:100,英语88.5。要求用f快捷格式化方式输出。

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

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

相关文章

地奥“畅依笙”革故鼎新,新品面市! 呵护肠胃 助力大健康!

根据平安健康发布的《2021国民肠道健康调研报告》,肠道问题逐渐年轻化,约90%的国人都会遇到肠道问题。我国肠胃终端产品持续热销,根据2021年淘宝天猫全年益生菌保健品/功能食品市场规模,销售额达63.2亿元;目前益生菌类…

Unity减少发布打包文件的体积——获取精灵图片的信息限制它的大小

一、起因 一个工程,打包成webGL且压缩成zip文件后,接近400M,后来把大的精灵图片设置最大尺寸,降低大小后,再次发布,zip文件缩减到250M 二、如何一键获得工程里面的精灵图片信息 三、获取精灵图片信息 1、…

智能工单系统的报修流程是怎样的?工单管理系统有什么作用?

“的修”智能工单管理系统适用于多个行业,包括学校、医院、酒店、企事业单位和社区物业。它基于微信小程序平台和APP开发,支持实现故障报修、报修状态查询以及服务评价等功能。用户可以轻松使用微信进行报修,以及查询报修的进度、状态和对服务…

【Linux从入门到精通】多线程 | 线程互斥(互斥锁)

上篇文章我们对线程 | 线程介绍&线程控制介绍后,本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。 文章目录 引入 一、重入与临界 1、1 可…

网络安全深入学习第一课——热门框架漏洞(RCE-命令执行)

文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec:2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层…

目标检测评估指标mAP:从Precision,Recall,到AP50-95【未完待续】

1. TP, FP, FN, TN True Positive 满足以下三个条件被看做是TP 1. 置信度大于阈值(类别有阈值,IoU判断这个bouding box是否合适也有阈值) 2. 预测类型与标签类型相匹配(类别预测对了) 3. 预测的Bouding Box和Ground …

C高级day5(Makefile)

一、Xmind整理&#xff1a; 二、上课笔记整理&#xff1a; 1.#----->把带参宏的参数替换成字符串 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX(a,b) a>b?a:b #define STR(n) #n int main(int argc, const char *argv…

sheetjs實現頁面的數據導出execl

概述 需要給頁面的table做一個數據導出功能,發現一個好用sheetjs工具 只需要簡單的js語法如下,就可以將table的數據導出來 function load(){var date new Date();date.setTime(date.getTime() (8 * 60 * 60 * 1000));var table document.getElementById("tab");v…

神领物流 day02-网关与支付 Spring Cloud Alibaba 微服务

课程安排 单token存在的问题双token三验证用户端token校验与鉴权对接三方支付平台分布式锁 1、场景说明 新入职的你加入了开发一组&#xff0c;也接到了开发任务&#xff0c;并且你也顺利的修复了bug&#xff0c;完成了快递员、司机的鉴权&#xff0c;现在的你已经对项目的业…

C++qt day8

1.用代码实现简单的图形化界面&#xff08;并将工程文件注释&#xff09; 头文件 #ifndef MYWIDGET_H #define MYWIDGET_H //防止头文件冲突#include <QWidget> //父类的头文件class MyWidget : public QWidget //自定义自己的界面类&#xff0c;公共继承…

Linux vim的常见基本操作

目录 vim是一款多模式的编辑器 命令模式下&#xff1a; 用小写英文字母「h」、「j」、「k」、「l」&#xff0c;分别控制光标左、下、上、右移一格 gg&#xff1a;定位到代码第一行 nshiftg 定位到任意一行/最后一行 「 $ 」&#xff1a;移动到光标所在行的结尾 「 ^ 」&…

无涯教程-JavaScript - COLUMNS函数

描述 COLUMNS函数返回数组或引用中的列数。 语法 COLUMNS (array)争论 Argument描述Required/OptionalarrayAn array or array formula, or a reference to a range of cells for which you want the number of Columns.Required Notes COLUMNS(1:1)返回Excel中的列数,即…

字符串解码

题目链接 字符串解码 题目描述 注意点 s 由小写英文字母、数字和方括号 ‘[]’ 组成1 < s.length < 30s 保证是一个 有效 的输入s 中所有整数的取值范围为 [1, 300] 解答思路 利用栈先进后出的特点&#xff0c;将字符存储进栈中创建两个栈&#xff0c;一个数字栈&am…

照片批量处理 7000张

需求&#xff1a; 有6700照片导入系统&#xff1b; 系统只支持500张/每次&#xff1b; 6700 按机构分类复制提取出来&#xff1b; 分批次导入&#xff1b; 6700 分17份复制到对应文件夹中&#xff1b; 照片按照学号命名的&#xff1b; 20231715401.jpg 开始用bat脚本…

Matlab Simulink支持system generator插件

文章目录 前言一、System Generator 简介二、System Generator 特性三、System Generator 安装1、确定是否已安装 System Generator 工具2、vivado 卸载3、vivado 安装 四、解决版本不兼容问题五、使用 System Generator 前言 目前有在 Simulink 中开发完成后将其转换成 Veril…

七天学会C语言-第一天(C语言基本语句)

一、固定格式 这个是C程序的基本框架&#xff0c;需要记住&#xff01;&#xff01;&#xff01; #include<stdio.h>int main(){return 0; }二、printf 语句 简单输出一句C程序&#xff1a; #include<stdio.h> int main(){printf("大家好&#xff0c;&quo…

浅析Java责任链模式实现

一、概要 定义&#xff1a;责任链模式是一种行为设计模式&#xff0c; 允许你将请求沿着处理者链进行发送。收到请求后&#xff0c; 每个处理者均可对请求进行处理&#xff0c; 或将其传递给链上的下个处理者。 二、应用场景&#xff1a; 1.多条件流程判断&#xff1a;权限相关…

时序预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测

时序预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测 目录 时序预测 | MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-BiGRU贝叶斯优化双向门控循环单元时间序列预测。…

把握经济大势和个人财运密码必须读懂钱—现代金钱的魔力

原出处&#xff1a;天涯论坛之《把握经济大势和个人财运密码必须读懂钱—现代金钱的魔力》 原作者&#xff1a;真立派 原文完整版PDF&#xff08;可能很快就会被河蟹&#xff0c;建议先保存&#xff09;&#xff1a;https://pan.quark.cn/s/20c917683d8f 引子 过去一些年&…

数据结构入门 — 树的概念与结构

本文属于数据结构专栏文章&#xff0c;适合数据结构入门者学习&#xff0c;涵盖数据结构基础的知识和内容体系&#xff0c;文章在介绍数据结构时会配合上动图演示&#xff0c;方便初学者在学习数据结构时理解和学习&#xff0c;了解数据结构系列专栏点击下方链接。 博客主页&am…