首页 > 编程语言 >python3字符串格式化用format()好还是 % 表达式好

python3字符串格式化用format()好还是 % 表达式好

时间:2024-04-16 22:25:23浏览次数:25  
标签:格式化 name format age introductions 字符串 python3

左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。

公众号:一点sir,关注领取python编程资料

在 Python 中,使用 format() 方法是更推荐的方式来进行字符串格式化,特别是在Python3中。虽然%表达式仍然可以在Python中使用,但已经不推荐使用了,新的项目中能不用就不用,谁知道哪天社区就不支持了。这玩意没有为啥,社区的那些开发人员觉得不好,投票决定,就改了。

接下来就讲一下官方流程化的话。

使用 format() 方法可以确保占位符与变量匹配的正确顺序,使代码更加可读且易于维护。format() 方法提供了多种方式来控制变量的匹配和排列顺序,使代码更具可读性和可维护性。以下是几种常用的方法:

位置参数

在格式化字符串中使用占位符 {},并使用 format() 方法的参数按顺序填充,这样可以保变量与占位符的匹配顺序是一致的。

name = 'Alittle'
age = 33

introductions = 'Hello, my name is {} and I am {} years old'.format(name, age)
print(introductions)

输出:(下面例子输出都一样)

Hello, my name is Alittle and I am 33 years old

注意,位置参数的顺序是很重要的,因为它们决定了哪个参数填充到相应的占位符中。

命名参数

在格式化字符串中使用命名占位符 {n},并使用 format() 方法的关键字参数进行填充,这样可以明确指定变量与占位符的对应关系,即使顺序发生变化,代码也不会受到影响。

name = 'Alittle'
age = 33

introductions = 'Hello, my name is {n} and I am {a} years old'.format(n=name, a=age)
print(introductions)

索引参数

可以使用索引来指定变量与占位符的对应关系。在格式化字符串中使用数字索引 {0}{1} 等,并将相应的变量按顺序传递给 format() 。使用索引参数的好处是,可以在格式化字符串中多次使用同一个变量,而不必重复传递相同的值。

name = 'Alittle'
age = 33

introductions = 'Hello, my name is {0} and I am {1} years old'.format(name, age)
print(introductions)

在Python 3.6之后(好像是)版本还引入了一种新的格式化字符串的方式,称为 f-string。它使用以 fF 开头的字符串,并使用花括号 {} 来包裹变量,像下面这样。

name = 'Alittle'
age = 33

introductions = f'Hello, my name is {name} and I am {age} years old'
print(introductions)

f-string 的方式更加简洁和直观,就是在字符串前面需要几个f来表示这个是f-string,同时还能直接在字符串中执行表达式,使代码更加简洁和优雅。然而,如果使用的是较旧版本的 Python,可能不支持f-string。

反正就看着使用吧,比较正式一点的项目就用高版本的写法,自己练手的,我觉得没有任何区别,并没有啥本质上的关系,随自己高兴。

标签:格式化,name,format,age,introductions,字符串,python3
From: https://www.cnblogs.com/kiwiblog/p/18139387

相关文章

  • vscode 代码格式化设置
    1.设置默认格式化工具ctrl+shift+P,筛选“FormatDocument”,设置Prettier为默认、 2.设置保存自动格式化打开VSCode,并打开你想要格式化的代码文件。在菜单栏中,选择“文件”>“首选项”>“设置”(快捷键Ctrl+,)。在搜索框中输入“formatonsave”,然后点击“编辑insett......
  • js--参数归一化-日期格式化函数
    //参数归一化///*日期时间格式化date:日期时间isFillZero:是否需要0补位*/functionformate(date,formater,isFillZero=false){formater=_formatNormalize(formater)function_isFillZero(value,length){if(isFillZero){return(value+'').p......
  • python3 pandas模块import报错 ModuleNotFoundError: No module named '_bz2'
    前言全局说明python3pandas模块import报错ModuleNotFoundError:Nomodulenamed'_bz2'一、环境ubuntu18.04Python3.8.17二、报错内容>>>importpandasTraceback(mostrecentcalllast): File"<stdin>",line1,in<module> F......
  • hash()函数在python2和python3的区别
    在Python3中,对于字符串类型的对象,hash()函数会根据当前进程的种子值计算哈希值。这个种子值在每次Python进程启动时都会随机生成。因此,即使是相同的字符串,在不同的Python进程中调用hash()函数会得到不同的哈希值。这种设计的目的是为了增加哈希表的随机性,从而提高安全性......
  • 苹果(MAC)操作系统(OSX)上设置Python3为Python命令启动的方式
    通过HomeBrew安装的Python启动命令为Python3,pip3HomeBrew安装Python的命令为:brewinstallpython然而,很多脚本里Python的启动命令为Python如何使OSX上的Python3命令通过Python启动呢?1.执行下列命令brewinfopython会得到如下输出信息:==>[email protected]:stable3......
  • ModuleNotFoundError: No module named 'formatter'
    在学习韦东山Linux下载BSP章节时 走到第四步的时候出现ModuleNotFoundError:Nomodulenamed'formatter'的错误查了资料发现是第一步的问题,原因在于对于ubantu22.04来说formatter已在python3.4+标记成废弃接口,就算你按照网上教程添加这个模块也无法解决。解决方法是第一步......
  • Python3 YOLOv8 车牌号识别提取
    参考https://blog.csdn.net/Pan_peter/article/details/130465041(参考教程)https://wwwf.lanzout.com/iCY5N0uhltdg(car.pt已下载)https://github.com/ultralytics/ultralytics/issues/2046(可视化参数问题)https://cloud.tencent.com/developer/article/2214890(中文乱码问......
  • 学习 GitHub 风格的 Markdown 语法和格式化 - 带有示例
    Markdown是一种轻量级、开源、易读易写的文本格式化方法,你可以在任何IDE或编辑器中将其作为纯文本使用。在GitHub上写作时,你可以使用Markdown语法和HTML元素来扩展Markdown的功能。你可以在GitHub的各个地方使用Markdown语法,比如README文件、wiki、评论、拉取请......
  • centos6.5安装python3.6.9
    下载python:https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz安装tar-zxvfPython-3.6.9.tgzcdPython-3.6.9./configure--prefix=/opt/python3.6makemakeinstallecho"/opt/python3.6/lib">/etc/ld.so.conf.d/python3.6.9.confsudoldconf......
  • Python3 YOLOv8 体验
    参考https://docs.ultralytics.com/zh/quickstart/#use-ultralytics-with-pythonhttps://pytorch.org/get-started/locally/https://www.zhihu.com/question/275575243https://github.com/onnx/onnx/issues/5773https://stackoverflow.com/questions/72352528/how-to-fix-......