# 关于format和format_map的使用
# 如果要使用输出的字符串对其不仅仅是可以使用format,还可以使用ljust/rjust/center来处理,输出当然也可以是使用%来进行操作,但是format()属于Python3的特性,所以在这里专门介绍format,其他的暂不打算做笔记
# 使用format进行简单输出 print(format('123')) # 可以直接使用print('123'),这里是指为了演示,输出"123"
# 将输出的字符串规定大小20,也叫填充
print(format('123', '>20')) # 内容向右靠其,相当于rjust, 输出“ 123” print(format('123', '<20')) # 内容向右靠其,相当于ljust,输出“123 ” print(format('123', '^20')) # 内容向右靠其,相当于ljust,输出“ 123 ” # 注意:上面例子的format()的'>20'/'<20'/'^20'默认输出的是字符串,及等价于'>20s'/'<20s'/'^20s'
# 如果想输入float类型怎么办?,当然是使用“.nf”
print(format(123.147, '>10.2f')) # 字符串大小为10,输出的为float类型,取两位小数(会四舍五入),输出“ 123.15”
# 如果想填充一些其他字符呢?那在填充前面添加填充内容
print(format('123', '=>20')) # 在内容的最左边填充“=”,输出“=================123”,其它同理
# 换种方式?可以
# 输入字符串
s = 'something: {}' print(s.format('123')) # 输出“something: 123”字符串
# 输出float类型
s = 'float: {:.2f}' print(s.format(12.2222)) # 输出“float: 12.22”
# 那该怎么通过键值来输入呢?看下面
s = 'my name is {name}, age = {age}' print(s.format(name='namejr', age=22)) # 输出“my name is namejr, age = 22”
# 觉得上面的输入有点麻烦?使用vars()能够找到变量域中的属性进行替换
name = 'namejr' age = 22 print(s.format_map(vars())) # 输出“my name is namejr, age = 22”
# 难道vars()就这点功能?当然不是,我也是只发现冰山一角,下面也是使用方法:
class use_vars(object): def __init__(self, name, age): self.name = name self.age = age vars_info = use_vars('namejr', 22) print(s.format_map(vars(vars_info))) # 输出“my name is namejr, age = 22”
# 难道format和format_map就这么完美? 也不是吧,比如参数缺省就挺惨的,直接抛出错误。不过可以使用__missing__解决
class check_vars(dict): # 注意:定义为含有__missing__方法的dict对象 def __missing__(self, key): return '{ '+ key+' is not defined }' s = 'name is {name1}, age = {age1}' name1 = 'namejr' print(s.format_map(check_vars(vars()))) # 输出"name is namejr, age = { age1 is not defined }"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现