Python的format格式化用法可以通过下面几种方式来实现:

1、使用{}作为占位符,通过索引来指定要替换的参数,如:

# 替换第一个参数
"Hello {}, Welcome to Python world!".format("Tom")# 替换第二个参数
"Hello {1}, Welcome to Python world! I'm {0}".format("Tom", "Alice")

2、使用{}作为占位符,通过参数名来指定要替换的参数,如:

# 替换name参数
"Hello {name}, Welcome to Python world!".format(name="Tom")# 替换name和age参数
"Hello {name}, Welcome to Python world! I'm {age}".format(name="Tom", age=20)

3、使用{}作为占位符,通过指定参数位置和类型来进行格式化,如:

# 使用:指定参数类型和格式,d表示整数,f表示浮点数,s表示字符串
"Hello {0:s}, Welcome to Python world! I'm {1:d} years old".format("Tom", 20)
"Hello {0:s}, Welcome to Python world! I'm {1:f} meters tall".format("Tom", 1.75)

Python的format格式化用法还有以下几个注意事项:

1、如果使用了{}作为占位符,那么参数中不能出现{}字符,否则会抛出异常,应该使用{{}}来表示{字符,如:

# 错误用法
"Hello {name}, Welcome to Python world! I'm from {{China}}".format(name="Tom")# 正确用法
"Hello {name}, Welcome to Python world! I'm from {country}".format(name="Tom", country="China")

2、在format函数中,如果指定了参数名或位置,那么参数的顺序并不重要,如:

# 不同的参数顺序
"Hello {0}, Welcome to Python world! I'm {1} years old".format(20, "Tom")
"Hello {1}, Welcome to Python world! I'm {0} years old".format(20, "Tom")

3、在format函数中,如果使用了参数名或位置,那么在调用时,必须保证提供了对应的参数,否则会抛出异常,如:

# 错误用法,没有提供name参数
"Hello {name}, Welcome to Python world!".format()# 正确用法
"Hello {name}, Welcome to Python world!".format(name="Tom")

4、在format函数中,如果没有使用参数名或位置,那么参数的顺序必须与占位符的顺序一致,否则会抛出异常,如:

# 错误用法,参数顺序不一致
"Hello {}, Welcome to Python world! I'm {} years old".format(20, "Tom")# 正确用法
"Hello {}, Welcome to Python world! I'm {} years old".format("Tom", 20)

5、在format函数中,如果使用了参数名或位置,那么在调用时可以提供多余的参数,这些参数不会被使用,如:

# 提供了多余的参数
"Hello {name}, Welcome to Python world!".format(name="Tom", age=20)

6、在format函数中,可以使用**kwargs参数将一个字典中的所有键值对作为参数传递给format函数,如:

# 使用**kwargs传递参数
params = {"name": "Tom", "age": 20}
"Hello {name}, Welcome to Python world! I'm {age} years old".format(**params)

7、在format函数中,如果使用了{}作为占位符,那么可以使用format_map函数来替换占位符,其中format_map函数的参数必须是一个映射对象,如:

# 使用format_map函数替换占位符
params = {"name": "Tom", "age": 20}
"Hello {name}, Welcome to Python world! I'm {age} years old".format_map(params)

8、在format函数中,如果需要对字符串进行多次替换,那么可以使用format_map函数,它可以直接在字符串上调用,而不用重新创建一个新的字符串,如:

# 使用format_map函数进行多次替换
params = {"name": "Tom", "age": 20}
s = "Hello {name}, Welcome to Python world! I'm {age} years old"
new = s.format_map(params)
print(new)# 更新参数,并继续替换
params["age"] = 21
new_2 = s.format_map(params)
print(new_2)

9、在format函数中,如果使用了{}作为占位符,那么可以使用vars函数自动将一个对象的属性作为参数传递给format函数,如:

# 使用vars函数自动将一个对象的属性作为参数传递给format函数
class Person:def __init__(self, name, age):self.name = nameself.age = agep = Person("Tom", 20)
"Hello {name}, Welcome to Python world! I'm {age} years old".format(**vars(p))

10、在format函数中,如果使用了{}作为占位符,那么可以使用Template类来实现字符串的模板化,可以通过$来指定参数名,并通过safe_substitute函数来替换占位符,如:

# 使用Template类实现字符串的模板化
from string import Templates = Template("Hello $name, Welcome to Python world! I'm $age years old")
s.safe_substitute(name="Tom", age=20)

11、在format函数中,如果使用了{}作为占位符,那么可以通过f-string来实现字符串的替换,f-string必须使用Python3.6或更高版本,它支持在字符串中直接使用变量名,并通过{}包裹,如:

# 使用f-string实现字符串的替换
name = "Tom"
age = 20
f"Hello {name}, Welcome to Python world! I'm {age} years old"

12、在format函数中,如果需要对字符串进行格式化,那么可以使用format函数的相关参数,如align、width、precision等来控制字符串的对齐方式、宽度、精度等,如:

# 使用format函数的相关参数进行格式化
name = "Tom"
age = 20# 左对齐,宽度为20,小数点后保留2位
"Hello {0:<20.2f}".format(name, age)# 右对齐,宽度为20,小数点后保留2位
"Hello {0:>20.2f}".format(name, age)# 居中对齐,宽度为20,小数点后保留2位
"Hello {0:^20.2f}".format(name, age)

13、在format函数中,如果需要对数字进行格式化,那么可以使用format函数的相关参数,如:

# 千分位分隔符
"{:,}".format(123456789)# 百分数
"{:.2%}".format(0.8)# 科学计数法
"{:.2e}".format(123456789)# 十六进制
"{:x}".format(255)

14、在format函数中,如果需要对日期时间进行格式化,那么可以使用strftime函数来指定日期时间的格式化字符串,如:

# 使用strftime函数格式化日期时间
from datetime import datetimedt = datetime.now()
print(dt)a = dt.strftime("%Y-%m-%d %H:%M:%S")
print(a)# 输出
# 2022-12-09 16:51:09.534693
# 2022-12-09 16:51:09

Python的format格式化用法详解相关推荐

  1. python中format的用法详解

    format是字符串内嵌的一个方法,用于格式化字符串.以大括号{}来标明被替换的字符串. 1.基本用法 1. 按照{}的顺序依次匹配括号中的值 s = "{} is a {}".f ...

  2. python中.format()方法用法详解

    format语法格式: str.format()         str是指字符串实例对象,常用格式为' '.format() def format(self, *args, **kwargs): # ...

  3. Python print函数及format()格式化输出详解

    今天继续给大家介绍Python相关知识,本文主要内容是Python print函数及format()格式化输出详解. 一.print()函数基本使用 print()函数是Python中用于向控制台输出 ...

  4. python lambda函数-Python的Lambda函数用法详解

    在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数.今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式. 1.为什么要 ...

  5. Python BS4解析库用法详解

    Python BS4解析库用法详解 Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据.Bea ...

  6. python中的super用法详解_【Python】【类】super用法详解

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

  7. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  8. python classmethod_对Python中的@classmethod用法详解

    在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法. 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的. 不过还是好奇去查了一下. 大致可以 ...

  9. python中setattr()函数用法详解

    setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的. getattr()用法详见博文:python中getattr()函数用法详解_IT之一小佬的博客-CSDN ...

最新文章

  1. CCF - 201409-3 - 字符串匹配
  2. 有漏洞无作为才可怕、可耻!
  3. js实现对象不可更改
  4. KDD_CUP99数据集处理和测试(已处理数据可下载)
  5. TypeError系列之:TypeError: 'tuple' object is not callable.
  6. ICA独立成分分析—FastICA基于负熵最大
  7. 网易云音乐上市首日收跌2.49% 盈利困境仍待解
  8. 函数、函数参数、变量、深拷贝、随机数
  9. tbb::atomic和std::atomic的区别 废弃
  10. Jira与敏捷项目管理
  11. 应用后台被回收,点击崩溃
  12. 实习僧[shixiseng.com]爬虫实战笔记
  13. 139邮箱注册免费注册 html5.mail.10086.cn,139邮箱注册(登录139免费邮箱)
  14. 北大青鸟---不怎么样
  15. 计算机网络9 无线网络和移动网络
  16. bzoj 2244: [SDOI2011]拦截导弹 cdq分治
  17. 最有用的Java免费自学网站
  18. jn-社团申请、及时雨、风采展示三个模块bug修改
  19. 前端秋招面试(7)- 微众银行
  20. hihocoder 闰秒

热门文章

  1. iOS学习笔记(1)-iPhone分辨率
  2. 制作标签(Label)
  3. 百度健康撮合钟南山李兰娟直播,加速品牌出圈
  4. 学计算机专业买什么手机,准大学生要买什么样的电脑与手机呢?这些要知道,绝不花冤枉钱!...
  5. python叠加条形图的绘制
  6. 水星路由器 Mercury MER1200G刷机教程,Archer C5V4刷回原厂固件,串口(TTL)刷机,需要一个USB转TTL工具
  7. html拖拽垃圾桶,html5拖放-垃圾桶效果
  8. 最后纪元 Mac暗黑系战争策略游戏
  9. WAMP80端口被占用快速解决
  10. 太赛博朋克了!华为天才少年自制B站百大Up奖杯,网友:技术难度不高,但侮辱性极强...