返回顶部
首页 > 资讯 > 后端开发 > Python >Python中该使用%还是format来
  • 788
分享到

Python中该使用%还是format来

Pythonformat 2023-01-30 22:01:38 788人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

%还是fORMat 1、皇城PK python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题。不信你往下

%还是fORMat

1、皇城PK

python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢?

自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题。不信你往下看。

# 定义一个坐标值
c = (250, 250)
# 使用%来格式化
s1 = "敌人坐标:%s" % c

上面的代码很明显会抛出一个如下的TypeError:

TypeError: not all arguments converted during string formatting

像这类格式化的需求我们需要写成下面丑陋的格式才行:

# 定义一个坐标值
c = (250, 250)
# 使用%丑陋的格式化...
s1 = "敌人坐标:%s" % (c,)

而使用format就不会存在上面的问题:

# 定义一个坐标值
c = (250, 250)
# 使用format格式化
s2 = "敌人坐标:{}".format(c)

很显然,上面这一个理由就已经足够让你在以后的项目中使用format了。

2、新特性

python3.6中加入了f-strings:

In[1]: name = "djb"
In[2]: age = 18
In[3]: f"My name is {name}.I'm {age}"
Out[3]: "My name is djb.I'm 18"

常用的format用法

1、通过位置

In[1]: data = ["djb", 18]
In[2]: "Name:{0}, Age:{1}".format(*data)
Out[2]: 'Name:djb, Age:18'

2、通过关键字

In[1]: data = {"name": "djb", "age": 18}
In[2]: "Name:{name}, Age:{age}".format(**data)
Out[2]: 'Name:djb, Age:18'

3、通过对象属性

In[1]: class Person(object):
   ...:     def __init__(self, name, age):
   ...:         self.name = name
   ...:         self.age = age
   ...:     def __str__(self):      
   ...:         return "This guy is {self.name}, {self.age} years old.".format(self=self)
   ...:     
In[2]: p = Person("djb", 18)
In[3]: str(p)
Out[3]: 'This guy is djb, 18 years old.'

4、通过下标

In[1]: "{0[0]} is {0[1]} years old.".format(data)
Out[1]: 'djb is 18 years old.'

5、填充与对齐

填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。
In[1]: "{:>10}".format('18')
Out[1]: '        18'
In[2]: "{:0>10}".format('18')
Out[2]: '0000000018'
In[3]: "{:A>10}".format('18')
Out[3]: 'AAAAAAAA18

补充一个字符串自带的zfill()方法:

Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0。
zfill()方法语法:str.zfill(width)
参数width指定字符串的长度。原字符串右对齐,前面填充0。
返回指定长度的字符串。
In[1]: "18".zfill(10)
Out[1]: '0000000018'

6、精度与类型f

精度常跟类型f一起使用。

In[1]: "{:.2f}".format(3.1415926)
Out[1]: '3.14'

其中.2表示长度为2的精度,f表示float类型。

7、其他进制

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

In[1]: "{:b}".format(18)
Out[1]: '10010'
In[2]: "{:d}".format(18)
Out[2]: '18'
In[3]: "{:o}".format(18)
Out[3]: '22'
In[4]: "{:x}".format(18)
Out[4]: '12'

8、千位分隔符

In[1]: "{:,}".format(1234567890)
Out[1]: '1,234,567,890'

 

最后,总结一下,这样对比下来选用format比%是更好的,但是每个人有每个人不同的用法,在此只是列举出format对比%的一些优势。

 

--结束END--

本文标题: Python中该使用%还是format来

本文链接: https://lsjlt.com/news/179692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中该使用%还是format来
    %还是format 1、皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题。不信你往下...
    99+
    2023-01-30
    Python format
  • python中format怎么使用
    在Python中,可以使用format()方法来格式化字符串。format()方法的基本语法是在字符串中使用占位符{},然后调用fo...
    99+
    2023-10-27
    python
  • python中的format是什么意思,format怎么用
    目录python中format的使用format函数format的格式输出案例解释解释python中format的使用 format函数 这是一种字符串格式化的方法,用法如str.f...
    99+
    2024-04-02
  • MySQL去重该使用distinct还是group by?
    前言 关于group by 与distinct 性能对比:网上结论如下,不走索引少量数据distinct性能更好,大数据量group by 性能好,走索引group by性能好。走索引时分组种类少distinct快。...
    99+
    2022-05-29
    mysql 去重distinct group by
  • python中.format()方法使用详解
    目录前言一、简单使用方法1.无参数2. key value3. 列表4. 字典5. 类6. 魔法参数二、参数使用方法前言 format语法格式: str.format()str是指字...
    99+
    2024-04-02
  • python中format函数怎么使用
    在Python中,可以使用format()函数来格式化字符串。基本语法如下:```pythonformatted_string = ...
    99+
    2023-10-12
    python
  • python print中的format怎么使用
    这篇文章主要介绍了python print中的format怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python print中的format怎么使用文章都会有所收获,下面我们一起来看看吧。变量插入字...
    99+
    2023-07-05
  • 该用Python还是SQL?4个案例教你
    在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答。每种语言都有其优势,它们之间也存在着不同的区别。不能否认的是,有些操作用Python执行起来要比SQL更加高效。这篇文章分享了4个能够节省时间的案例,在这几个案例...
    99+
    2023-01-31
    教你 该用 案例
  • format在python中的用法是什么
    format在python中的用法是基本用法、指定位置、指定变量名、格式化数字、格式化日期和时间。Format函数是Python中内置的一种字符串格式化方法。它允许我们在字符串中插入变量和其他值,并将它们格式化为特定的形式。使用format...
    99+
    2023-07-31
  • 怎么在Python中使用 format函数
    本篇文章给大家分享的是有关怎么在Python中使用 format函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许多有...
    99+
    2023-06-14
  • Python中的format()函数怎么使用
    format()函数可以用来格式化字符串中的变量。以下是使用format()函数的基本语法: # 使用位置参数 print(&quo...
    99+
    2024-03-13
    Python
  • python中format的用法
    小编给大家分享一下python中format的用法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python中format的使用方法:【format():】把传统...
    99+
    2023-06-08
  • Python的format怎么使用
    这篇“Python的format怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python的format怎么使用”文...
    99+
    2023-06-29
  • 我应该在 MySQL 中使用 datetime 还是 timestamp 数据类型?
    问: 您是否推荐使用 datetime 或 timestamp 字段,为什么(使用 MySQL)? 我在服务器端使用 PHP。 答1: huntsbot.com – 程序员副业首选,一站式外包任务...
    99+
    2023-09-20
    mysql php 数据库 sql vim
  • python中format语句的作用是什么
    format语句用于格式化输出字符串,可以通过{}中的位置参数或关键字参数来填充字符串中的占位符。这样可以使得字符串的输出更加灵活和...
    99+
    2024-04-02
  • python中的format是什么意思
    Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的...
    99+
    2023-07-31
  • python中format有什么用
    python中format有什么用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本...
    99+
    2023-06-14
  • python中的format如何用
    这篇文章主要介绍“python中的format如何用”,在日常操作中,相信很多人在python中的format如何用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的format如何用”的疑惑有所...
    99+
    2023-06-30
  • format在python中的用法
    python 中的 format() 函数通过使用占位符和格式化说明符将值格式化并插入字符串中。占位符使用花括号 {} 表示,格式化说明符指定值如何格式化,括号后使用冒号 : 分隔。fo...
    99+
    2024-05-15
    python
  • python语言format怎么使用
    在Python中,可以使用format函数来对字符串进行格式化操作。format函数的基本使用方法如下:1. 使用位置参数进行格式化...
    99+
    2023-10-20
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作