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

python字符串格式化指南(python中字符串格式化的三种方式)

itomcoil 2025-03-28 17:43 23 浏览

在 Python 中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。本文将介绍几种常见的字符串格式化方法,帮助大家掌握在 Python 中有效地处理字符串的技巧。

1,使用"%"操作符实现字符串格式化

使用%操作符是早期的python提供的方法,语法:str%data

常用的格式化字符串

  • - %s 字符串 (采用str()的显示)
  • - %r 字符串 (采用repr()的显示)
  • - %f (%F) 浮点数,
  • - %d 十进制整数
  • - %c 单个字符
  • - %b 二进制整数
  • - %i 十进制整数
  • - %o 八进制整数
  • - %x 十六进制整数
  • - %e(%E) 指数 (基底写为e)
  • - %g (%G)指数(e)或浮点数 (根据显示长度)
  • - %% 字符"%"本身,显示百分号%
> name = "lily"
> age = 25
> weight=54.7
> print("My name is %s and I'm %d years old and my weight is %.1f kg." % (name, age,weight))
My name is lily and I'm 25 years old and my weight is 54.7 kg.

特殊的数字及浮点数需求

正常我们输出一个十进制整数的时候,直接使用%d就足以,这种正常打印数字肯定没有问题,但是在生活中,如果需要打印工号、学号等等有00开头的数字,如果再使用这种格式化字符串打印的话,肯定就难以实现。这里引入"%03d",其中数字3可以更改为其他数字。该字符串格式化代表的意思是控制台输出几位数字

> number1 = 26
> print("This number is %03d" % number1) 
This number is 026
> age1 = 888
> print("This number is %03d" % age1) 
This number is 888
> print("This number is %06d" % number1) 
#This number is 000026

> weight = 64.5
> print("His weight is %.f kg." % weight)
His weight is 64 kg.
> print("His weight is %.1f kg." % weight)
His weight is 64.5 kg.
> print("His weight is %.2f kg." % weight) 
His weight is 64.50

2,使用format方法对字符串进行格式化

自python2.6版本开始,python提供了format方法、语法如下:str.format(data)

#位置参数
>> '{0} love {1}.{2}'.format('I','love','python') 
 'I love python'
#当值为关键字参数时,举例说明
>> '{a} love {b}.{c}'.format(a = 'I',b = 'love',c = 'python') 
 'I love python'
#当然,也支持两种混用,format()内的无赋值的参数必须放左边,举例说明
>> '{0} love {b}.{c}'.format('I',b = 'FishC',c = 'com') 
'I love python'
#如果字符串中没有定义替换部分,则返回原字符串
>>> '我不需要被替换'.format('不打印')
'我不需要被替换'
>>> '我不需要被替换'.format()
'我不需要被替换'
#注意,在字符串中花括号表示其内的内容是要被替换的,如果想让花括号和其内的内容是作为一个正常字符串处理的话,必须在外面再加一层花括号,
#这种形式类似转义字符前面加上转义字符表示其本身一样,举例说明
'{{0}}'.format('不打印')
'{0}'
#最后,位置参数直接跟':'表明后面跟一个字符串格式化操作符,举例说明
>>> '{0:.1f}{1}'.format(27.68,'GB')   #.1f表明是格式化小点数且保留小数点后1位
'27.7GB

使用 f-strings

自从 Python 3.6 版本开始,引入了 f-strings,它是一种直观且易用的字符串格式化方法,可以在字符串前加上 f 或 F 来创建格式化字符串,强烈建议优先使用这个方法。

> a='python'
> f'I Love {a}' 
'I Love python'
#可以接收表达式
> num=12
> price=6
> print(f'【{num}】个苹果,每个【peice】元,一共要花费【{num*price}】元')
【{12}】个苹果,每个【6】元,一共要花费【{72}】元
#可以对字典取值
> user={'name':'ace','job':'tracher'}
> print('【{user['name']}】的工作是【{user['job']}】')
【ace】的工作是【teacher】
#对多行数据进行格式化
> name='李四'
> age=28
> job='码农'
> msg=(
    f'name:{name}\n'
    f'age:{age}\n'
    f'job:{job}'
)
> print(msg)
name:李四
age: 28
job:码农
#调用函数
def my_max(x,y):
    return x if x>y else y
> a,b=3,4
> print(f'【{a}】和【{b}】中比较大的是【{my_max(a,b)}】')
【{3}】和【{4}】中比较大的是【4】

#格式化浮点数
val=11.57
print(f'{val:.3f}') 
11.570
print(f'{val:.1f}') 
11.5

#接收一个对象,注意:对象必须定义了__str__()或__repr__()函数
class User:
    def __init__(self,name,job):
        self.name=name
        self.job=job
    def __repr__(self):
        return f'{self.name} is a {self.job}'
> u=User('Ace','teacher')
> print(f'{u}')
Ace is teacher

本文介绍了在 Python 中常用的字符串格式化方法,包括 % 操作符、tr.format() 方法和 f-strings。这些方法都可以帮助我们根据需要将变量插入到字符串中,并控制输出的格式。根据实际情况和个人偏好,选择合适的字符串格式化方法,以提高代码的可读性和灵活性

相关推荐

MySQL修改密码_mysql怎么改密码忘了怎么办

拥有原来的用户名账户的密码mysqladmin-uroot-ppassword"test123"Enterpassword:【输入原来的密码】忘记原来root密码第一...

数据库密码配置项都不加密?心也太大了吧!

先看一份典型的配置文件...省略...##配置MySQL数据库连接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspr...

Linux基础知识_linux基础入门知识

系统目录结构/bin:命令和应用程序。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:dev是Device(设备)的缩写,该目录...

MySQL密码重置_mysql密码重置教程

之前由于修改MySQL加密模式为mysql_native_password时操作失误,导致无法登陆MySQL数据库,后来摸索了一下,对MySQL数据库密码进行重置后顺利解决,步骤如下:1.先停止MyS...

Mysql8忘记密码/重置密码_mysql密码忘了怎么办?

Mysql8忘记密码/重置密码UBUNTU下Mysql8忘记密码/重置密码步骤如下:先说下大概步骤:修改配置文件,使得用空密码可以进入mysql。然后置当前root用户为空密码。再次修改配置文件,不能...

MySQL忘记密码怎么办?Windows环境下MySQL密码重置图文教程

有不少小白在使用Windows进行搭建主机的时候,安装了一些环境后,其中有MySQL设置后,然后不少马大哈忘记了MySQL的密码,导致在一些程序安装及配置的时候无法进行。这个时候怎么办呢?重置密码呗?...

10种常见的MySQL错误,你可中招?_mysql常见错误提示及解决方法

【51CTO.com快译】如果未能对MySQL8进行恰当的配置,您非但可能遇到无法顺利访问、或调用MySQL的窘境,而且还可能给真实的应用生产环境带来巨大的影响。本文列举了十种MySQL...

Mysql解压版安装过程_mysql解压版安装步骤

Mysql是目前软件开发中使用最多的关系型数据库,具体安装步骤如下:第一步:Mysql官网下载最新版(mysql解压版(mysql-5.7.17-winx64)),Mysql官方下载地址为:https...

MySQL Root密码重置指南:Windows新手友好教程

如果你忘记了MySQLroot密码,请按照以下简单步骤进行重置。你需要准备的工具:已安装的MySQL以管理员身份访问命令提示符一点复制粘贴的能力分步操作指南1.创建密码重置文件以管理员...

安卓手机基于python3搜索引擎_python调用安卓so库

环境:安卓手机手机品牌:vivox9s4G运行内存手机软件:utermux环境安装:1.java环境的安装2.redis环境的安装aptinstallredis3.elasticsearch环...

Python 包管理 3 - poetry_python community包

Poetry是一款现代化的Python依赖管理和打包工具。它通过一个pyproject.toml文件来统一管理你的项目依赖、配置和元数据,并用一个poetry.lock文件来锁定所有依赖的精...

Python web在线服务生产环境真实部署方案,可直接用

各位志同道合的朋友大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,一起将技术学深学透,我会每一篇分享结束都会预告下一专题最近经...

官方玩梗:Python 3.14(πthon)稳定版发布,正式支持自由线程

IT之家10月7日消息,当地时间10月7日,Python软件基金会宣布Python3.14.0正式发布,也就是用户期待已久的圆周率(约3.14)版本,再加上谐音梗可戏称为π...

第一篇:如何使用 uv 创建 Python 虚拟环境

想象一下,你有一个使用Python3.10的后端应用程序,系统全局安装了a2.1、b2.2和c2.3这些包。一切运行正常,直到你开始一个新项目,它也使用Python3.10,但需要...

我用 Python 写了个自动整理下载目录的工具

经常用电脑的一定会遇到这种情况:每天我们都在从浏览器、微信、钉钉里下各种文件,什么截图、合同、安装包、临时文档,全都堆在下载文件夹里。起初还想着“过两天再整理”,结果一放就是好几年。结果某天想找一个发...