Python字符串格式化详解:占位符与format方法实战
本文详细介绍Python中两种主要的字符串格式化方式:传统的%占位符和更灵活的format方法。内容涵盖%占位符对整数、浮点数、字符及特殊符号的处理,包括对齐方式、精度控制及进制前缀显示;同时解析format方法的三种用法:无位置指定、命名参数及索引指定,帮助开发者掌握高效、规范的字符串输出技巧。
格式化字符串是什么?
在Python中,字符串格式化的核心目的是将变量或对象的值嵌入到字符串模板中,并解析其中的Python表达式,从而实现多样化的显示效果。这包括控制文本的对齐方式(左对齐、右对齐、居中对齐)以及数字的有效位数保留等。
1.使用占位符格式化字符串:
在使用%占位符进行格式化时,%符号后跟随的数字用于指定该字段所占的字符宽度。如果实际内容长度不足指定宽度,系统会自动填充空格;若数字为正数,则内容右对齐(左侧补空格);若数字为负数,则内容左对齐(右侧补空格)。例如:%4d表示该整数占4个字符宽度且右对齐,而%-8d表示占8个字符宽度且左对齐。
占位符:
- %s :用于字符串格式化,这是最常用的占位符。
- %d :用于格式化整数,应用频率较高。
- %c :用于格式化单个字符及其对应的ASCII码值。
- %f :用于格式化浮点数,可指定小数点后的精度,默认保留小数点后6位。
- %o :用于格式化无符号八进制数。
- %x :用于格式化无符号十六进制数。
- %e :将整数或浮点数转换为科学计数法表示。
- %%: 当字符串中需要显示字面量的百分号时,必须使用%%进行转义表示。
例子:
占位符%s、%c、%%的使用:
name='小明'
print('%s的使用:')
print('我的名字叫%s!'%(name))
print('我的名字叫%4s!'%(name)) #右对齐
print('我的名字叫%-4s!'%(name)) #左对应
#由于在python中只有字符串这种类型,使用在这里%c只能表示ASCII码,并不能表示字符
character=56
print('c的使用:')
print('%d在ASCII码中表示字母%c'%(character,character))
schedule=99
print('%%的使用:')
print('当前下载进度为%d%%!'%(character))
需要注意的是,在Python中只有字符串类型,因此%c占位符仅能表示ASCII码值,不能直接表示中文字符或其他非ASCII字符。
占位符%d、%o、%x的使用:
number=18
print('%d使用十进制为:%d'%(number,number)) #十进制
print('%d使用八进制为:%o'%(number,number)) #八进制
print('%d使用十六进制为:%x'%(number,number)) #十六进制
如果在输出八进制或十六进制时希望显示对应的进制前缀(如0o或0x),只需在%符号后添加#号即可实现。
number=200
print('%d使用八进制为:%#o'%(number,number))
print('%d使用十六进制为:%#x'%(number,number))
占位符 %f、%e的使用:
high=174.5
print('我的身高有%f米'%(high)) #默认情况
print('我的身高有%.1f米'%(high)) #小数点保留1位
print('%f使用科学记数法为:%e'%(high,high))
2.使用format方法格式化输出:
1.不设置指定位置:
name = "{}在{}玩了一天的{}"
data = name.format("小明","网吧","LOL")
print(data)
2.设置指定名称:
name = "{name}在{Location}玩了一天的{game}"
data = name.format(Location="网吧",game="LOL",name="小明")
print(data)
3.设置指定位置 :
name = "{2}在{0}玩了一天的{1}"
data = name.format("网吧","LOL","小明",)
print(data)
注意:指定位置是从0开始算起,而不是1!
总结
到此这篇关于python格式化字符串的文章就介绍到这了,更多相关python格式化字符串内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









