首页 > 编程语言 >Python格式化字符串的3种常用方式

Python格式化字符串的3种常用方式

时间:2022-12-28 00:00:24浏览次数:45  
标签:格式化 name format Python age print 字符串

Python格式化字符串的3中方式

一:%号

​ %号格式化字符串的方式从Python诞生之初就已经存在,时至今日,python官方也并未弃用%号,但也并不推荐这种格式化方式。

# 格式的字符串(即 %s)与被格式化的字符串(即传入的值)必须按照位置一一对应
# ps:当需格式化的字符串过多时,位置极容易搞混
print('%s love %s' % ('ys', 'yyh'))
print('%s love %s' % ('闫美婷', 'yyh'))

二:str.format

​ format方法是在Python 2.6中引入的,是字符串类型的内置方法。因为str.format的方式在性能和使用的灵活性上都比%号更胜一筹,所以推荐使用

# 1 使用位置参数
print('{} love {}'.format('ys','yyh'))
# 2 使用索引
print('{1} love {0}'.format('ys','yyh'))

三:f'{}'

str.format() 比 %格式化高级了一些,但是它还是有自己的缺陷。当需要传入的字符串过多时,仍然会显得非常冗长。与在Python 3.6中引入 了f-strings,不仅比str.format更简洁,性能上也更胜一筹

​ f-string是以f或F开头的字符串, 核心在于字符串中符号{}的使用

# 1 {}可以是变量名
name = 'ys'
age = 30
print(f'{name} {age}')
# 2 {}可以是函数调用
def f1(num):
    return num+2
print(f'{f1(2)}') # 4
# 3 {}可以是表达式
print(f'{2*5+1}') # 11

注:f'{}'这种方式性能最快,优先考虑使用

3种格式化字符串性能比较
from timeit import timeit


def test_s():
    name = 'Egon'
    age = 18
    return '%s:%s.' % (name, age)


def test_format():
    name = 'Egon'
    age = 18
    return '{}:{}.'.format(name, age)


def test_f_strings():
    name = 'Egon'
    age = 18
    return f'{name}:{age}.'


res1 = timeit(test_s, number=1000000)
res2 = timeit(test_format, number=1000000)
res3 = timeit(test_f_strings, number=1000000)
print(res1) # 0.3709844550030539
print(res2) # 0.47834375899401493
print(res3) # 0.3111891380031011, 最快

标签:格式化,name,format,Python,age,print,字符串
From: https://www.cnblogs.com/ys0937/p/17009249.html

相关文章

  • 【编程实践】手把手带你利用Python简单实现斐波那契数列
    前言什么是斐波那契数列?斐波那契数列的提出者,是意大利数学家列昂纳多·斐波那契(LeonardoFibonacci),生于公元1170年,卒于1250年,籍贯是比萨。他被人称作“比萨的列昂纳多”。当......
  • [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg
    查看进程回忆上次内容上次先进程查询​​ps-elf​​查看所有进程信息​​ps-lf​​查看本终端相关进程信息杀死进程​​kill-9PID​​给进程发送死亡信号运行多个......
  • 【数据预处理】基于Kettle的字符串数据清洗、Kettle的字段清洗、Kettle的使用参照表集
    一.前言需要本文章的源文件下链接自取:【ktr源文件】1.1实验内容本次实验内容如下:掌握基于Kettle的字符串数据清洗掌握基于Kettle的字段清洗掌握基于Kettle的使......
  • Python__15--元组
    1元组Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组使用圆括号包含元素,而列表使用方括号包含元素。元组的创建,只需在圆括号中添加元素并使用逗号分......
  • python:You should consider upgrading via the 'python -m pip install --upgrade pi
    环境: MicrosoftWindows10家庭版 10.0.19044  python3.7.4今天使用命令"pipinstallpyinstaller"准备安装pyinstaller时报错(如下图):Youareusingpipversion......
  • python学习: fire库的使用教程
    一.介绍fire是python中用于生成命令行界面(CommandLineInterfaces,CLIs)的工具,不需要做任何额外的工作,只需要从主模块中调用fire.Fire(),它会自动将你的代码转化为CLI,F......
  • Python之多任务编程概述
    一、疑问利用现学知识能够让两个函数或者方法同时执行吗?不能,因为之前所写的程序都是单任务的,也就是说一个函数或者方法执行完成另外一个函数或者方法才能执行,要想实现这种......
  • Python之多任务编程进程
    一、进程概述1.进程的介绍在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。2.进程的概念一个正在运行的程序或者软件就是一个进程,它是操作系......
  • 覆盖 python_python文件读写模式,覆盖写和清空写你清楚了吗
    https://blog.csdn.net/u011280778/article/details/104283319https://blog.csdn.net/weixin_39873356/article/details/112585266?utm_medium=distribute.pc_relevant.no......
  • pyqt5-python交互
    安装pyqt5,算是框架,直接在pycharm库里面搜pyqt5就行了安装可视化设计器QtDesigner,这个去官网下载就可以了,不过最好找个中文版的下载。在pycharm上配置插件,好让pych......