百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python中字符串格式化三种方法(python中字符串格式化三种方法的区别)

off999 2024-09-18 22:35 42 浏览 0 评论

在嵌入式编程过程中,我们可以使用Python辅助我们编程,特别是验证一些算法上特别好使。所以Python中的基本知识需要了解一些,剩下的就可以交给百度,Ctrl+C,Ctrl+V,不然网上复制代码都复制不明白。

接下来,我们一块学习下Python字符串格式化的三种方式。

第一种:%s

% 运算符(求余符)也可用于字符串格式化。给定 'string' % values,则 string 中的 % 实例会以零个或多个 values 元素替换。如果是多个值,请用()括起来。

print('%s,%s %s' % ("Hi,", "Hello", "World"))

Terminal:
Hi,,Hello World

第二种:format

字符串格式化的第二种方法,字符串format()方法。格式:str.format(). 这里写个示例,字符串格式化可以使用索引也可以使用关键字的形式。

print("{1}, {0} {world}".format("Hello","hi", world="World"))

Terminal:
hi, Hello World

第三种:f-字符串

格式化字符串字面值(简称为 f-字符串)在字符串前加前缀 f 或 F,通过 {expression} 表达式,把 Python 表达式的值添加到字符串内。

下面看一个简单的例子:

import math
print(f"圆周率近似值为: {math.pi:.8f}")

Terminal:
圆周率近似值为: 3.14159265

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:加微信领取资料





标准格式说明符 的一般形式如下:

[[fill]align][sign][#][0][width][grouping_option]>> [.precision][type]

属性

选项

fill

any character

align

"<" ">" "=" "^"

sign

"+" "-" " "

width

digit+

grouping_option

"_" ","

precision

digit+

type

"b" "c" "d" "e" "E" "f" "F" "g" "G" "n" "o" "s" "x" "X" "%"

fill-填充

如果指定了一个有效的 align 值,则可以在该值前面加一个 fill 字符,它可以为任意字符,如果省略则默认为空格符。

align-对齐方式

选项

含义

<

强制字段在可用空间内左对齐(这是大多数对象的默认值)

>

强制字段在可用空间内右对齐(这是数字的默认值)

=

强制在符号(如果有)之后数码之前放置填充。这被用于以 '+000000120' 形式打印字段。这个对齐选项仅对数字类型有效。这是当 '0' 紧接在字段宽度之前时的默认选项

^

强制字段在可用空间内居中

需要注意的是,只有定义了最小字段宽度,对齐选项才有意义,如下示例:

import math
print(f"圆周率近似值为: {math.pi:*^.8f}")
print(f"圆周率近似值为: {math.pi:*^30.8f}")

Terminal:
圆周率近似值为: 3.14159265
圆周率近似值为: **********3.14159265**********

*是填充字符,^表示居中对齐,30指的是最小字段宽度,.8f是让小数点后保留8位有效数字:

sign-符号

选项

含义

+

表示标志应该用于正数和负数。

-

表示标志应仅用于负数(这是默认行为)。

space

表示应在正数上使用前导空格,在负数上使用减号

看下面的示例:

print(f"{3.14:+},{-3.14:+},{3.14:-},{-3.14:-},{3.14: },{-3.14: }")

Terminal:
+3.14,-3.14,3.14,-3.14, 3.14,-3.14

'#'

'#' 选项可让“替代形式”被用于执行转换。替代形式会针对不同的类型分别定义。此选项仅适用于整数、浮点数和复数类型。对于整数类型,当使用二进制、八进制或十六进制输出时,此选项会为输出值分别添加相应的 '0b', '0o', '0x' 或 '0X' 前缀。

下面例子是将整数12分别以二进制、八进制、十进制以及十六进制输出。

print(f"{12:#b}, {12:#o}, {12:#d}, {12:#x}")

Terminal:
0b1100, 0o14, 12, 0xc

0

如果指定了显示宽度,则剩余部分的长度用0填充。

print(f"{123456789:030}")

Terminal:
000000000000000000000123456789

grouping_option

对浮点表示类型和整数表示类型,使用 ,或者_作为千位分隔符。

print(f"{123456789:,}, {123456789:_}")

Terminal:
123,456,789, 123_456_789

width

width 是一个定义最小总字段宽度的十进制整数,包括任何前缀、分隔符和其他格式化字符。如果未指定,则字段宽度将由内容确定。在说对齐方式的时候有过例子。

precision

precision 是一个十进制整数,它表示对于以表示类型 'f' 和 'F' 格式化的数值应当在小数点后显示多少个数位, 对于字符串表示类型,该字段表示最大的字段大小。在说对齐方式属性的时候也有例子。

type

就是常规的一些数据类型,二进制、十进制以及浮点型数据类型等...

其它

官方还推荐使用f{}格式字符串。



原文链接:https://mp.weixin.qq.com/s/yqzq5vSnuh3erKDXf-GSQw

转载自:嵌入式微处理器

原文链接:Python中字符串格式化三种方法

本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: